Laden...

Template aktualisieren

Letzter Beitrag vor 14 Jahren 2 Posts 640 Views
Template aktualisieren

Hallo,

ich habe einen TemplateSelector, der in Abhängigkeit der Anwendungseinstellungen aus verschiedenen ResourceDictionarys die DataTemplates rausholt. Das funktioniert an sich auch ziemlich gut, das Problem dabei ist, wenn die Anwendungseinstellungen zur Laufzeit geändert werden, so dass der TemplateSelector eigentlich ein anderes Template nutzen würde, dann aktualisieren sich deswegen die Steuerelemente (in meinem Fall ist das nur eins), die die alten Templates geladen haben, halt nicht.

Ich habe jetzt schonmal versucht, ApplyTemplate aufzurufen oder den DataContext vorrübergehend auf null zu setzen, leider führt das aber nicht zum Erfolg. Sobald ich aber einen komplett anderen DataContext festlege wird bereits das richtige Template genutzt, auch wenn ich danach dann wieder den richtigen Context setze funktioniert es auch, nur will ich halt eigentlich eine Möglichkeit ihm sofort sagen zu können, dass das Template, was er sich da vom TemplateSelector geholt hat, nicht mehr aktuell ist und er sich ein neues holen soll.

Schonmal Danke

Georg

OK, hab die Lösung: Man kommt wie's aussieht wohl nicht darum herum den DataTemplateSelector neu zu setzen, das ist dann aber mit

DataTemplateSelector s = ctrl.ContentTemplateSelector;
ctrl.ContentTemplateSelector = null;
ctrl.ContentTemplateSelector = s;

auch recht schnell getan 😃