2016-04-18 2 views
0

Как и Visual Studio или любая другая среда IDE, динамически созданные элементы управления на закладке должны быть сохранены и возвращены назад. Я пробовал методологию преобразования mycontrolsclass, который динамически создавал элементы управления в списке в json, который будет сохранен в базе данных и получен обратно. Ошибка stackoverflow возникает, когда весь mycontrolsclass был сериализован в json. Поэтому подумал о наличии содержимого базы данных xaml. Несколько руководств помогают получить содержимое xaml в физическом файле окна wpf, но не знают, как получить xamlcontent из окна с динамически создаваемыми элементами управления.WPF получить xaml элементов управления, созданных во время выполнения

Пробный цикл через класс LogicalTreeHelper тоже, но я не смог получить точный xaml. Является ли моя методология правильной или как я могу получить xaml для динамически созданных элементов управления?

+1

[Здесь] (http://stackoverflow.com/q/15003183/1997232) что-то подобное. Вы также можете выполнять поиск по отдельности для «xaml load runtime» и «xaml save runtime» (должен привести вас к связанным вопросам). – Sinatr

ответ

2

Я думаю, XamlWriter.Save() - это то, что вы ищете.

+0

Большая помощь, но ошибка последовательной передачи xaml происходит следующим образом, которую я не мог преодолеть. Необработанное исключение типа «System.InvalidOperationException» произошло в PresentationFramework.dll Дополнительная информация: Невозможно выполнить сериализацию непубличного типа FormsSuite.CustomControl.CustomTabItem. –

+1

@ArulManivannan Просто создайте 'FormsSuite.CustomControl.CustomTabItem' публичный, который должен работать. –

+0

Работал как шарм, не решался поставить эту ошибку в предыдущем комментарии. Теперь ваш комментарий тоже помог мне сэкономить несколько дней. Благодарю. –

Смежные вопросы