2016-04-18 9 views
0

Wie Visual Studio oder andere IDE, dynamisch erstellte Steuerelemente in einer Registerkarte muss gespeichert und abgerufen werden ist die Aufgabe. Ich habe die Methode der Umwandlung von mycontrolsclass, die Kontrollen in einer Liste dynamisch erstellt hat, in json versucht, die in Datenbank gespeichert und wieder zurückgeholt wird. Der Stackoverflow-Fehler tritt auf, wenn die gesamte mycontrolsclass nach json serialisiert wurde. Also gedacht, einen XAML-Inhalt in der Datenbank zu haben. Mehrere Tutorials helfen dabei, den XAML-Inhalt einer physischen WPF-Datei zu erhalten, ohne jedoch zu wissen, dass ein XAML-Inhalt aus einem Fenster mit dynamisch erstellten Steuerelementen stammt.WPF bekommen xaml Steuerelemente zur Laufzeit erstellt

Versuchte Looping durch LogicalTreeHelper Klasse zu, aber ich konnte nicht die genaue Xaml. Ist meine Methodik korrekt oder wie kann ich XAML für dynamisch erstellte Steuerelemente erhalten?

+1

[Hier] (http://stackoverflow.com/q/15003183/1997232) ist etwas ähnliches. Sie können auch separat nach "xaml load runtime" und "xaml save runtime" suchen (sollte Sie zu verwandten Fragen führen). – Sinatr

Antwort

2

Ich denke, XamlWriter.Save() ist das, was Sie suchen.

+0

Große Hilfe, aber xaml serialize Fehler passiert wie folgt, die ich nicht überwinden konnte. eine nicht behandelte Ausnahme des Typs 'System.InvalidOperationException' in PresentationFramework.dll aufgetreten ist Weitere Informationen: Ein nicht öffentlicher Typ 'FormsSuite.CustomControl.CustomTabItem' kann nicht serialisiert werden. –

+1

@ArulManivannan Einfach 'FormsSuite.CustomControl.CustomTabItem' public machen, das sollte funktionieren. –

+0

Arbeitete wie ein Zauber, zögerte, diesen Fehler in den vorherigen Kommentar zu setzen. Jetzt hat mir auch dein Kommentar geholfen, einige Tage einzusparen. Vielen Dank. –

Verwandte Themen