Я пытаюсь создать приложение wpf, которое позволяет пользователю изменять тему во время выполнения. То, что я сделал до сих пор, - создать ресурсный словарь со всеми цветами для приложения, определенного в нем, а затем я привязываюсь к этому словарю в xaml.
Ниже приведен код для переключения ресурсного словаря:
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);
}
}
Этот код работает нормально, и я знаю, что он переключает словарь ресурсов, но он не обновляет элементы, которые уже отображаются на экране. Мой вопрос: как я могу обновить или перепроверить экран, чтобы учесть новый словарь ресурсов?
спасибо
см