Ich versuche, eine WPF-Anwendung zu erstellen, die es dem Benutzer ermöglicht, das Thema zur Laufzeit zu ändern. Was ich bisher getan habe, ist ein Ressource-Wörterbuch mit allen Farben für die Anwendung definiert in ihm erstellen und dann bin ich Bindung an dieses Wörterbuch in der Xaml.
Im Folgenden finden Sie den Code, den ich für das Umschalten des Ressourcenwörterbuchs habe:
if (System.IO.File.Exists(fileName))
{
using (FileStream fs = new FileStream(fileName, FileMode.Open))
{
ResourceDictionary dic = (ResourceDictionary)XamlReader.Load(fs);
Resources.MergedDictionaries.Clear();
Resources.MergedDictionaries.Add(dic);
}
}
Dieser Code läuft gut, und ich weiß, dass er das Ressourcenverzeichnis umschaltet, aber er aktualisiert keine Elemente, die bereits auf dem Bildschirm angezeigt werden. Meine Frage ist: Wie kann ich den Bildschirm aktualisieren oder neu binden, um das neue Ressourcenwörterbuch zu berücksichtigen?
danke
sm