我希望您能够将ASP.Net类型的主题实现到WPF中。用户可以选择各种预定义的主题并切换到另一个主题。
为了实现这个目标,我尝试创建不同的资源字典来存储每个主题所需的样式及其键。所有主题中的键集合相同,但是每个主题中的定义不同。
我使用以下代码在单击时切换主题:
在所有页面/用户控件/窗口中,我已经设置了StaticResource并应用了适当的键。当我切换到另一个主题时,它只有在UI上的下一个事件后才会被应用。如果我将StaticResource更改为DynamicResource,则可以立即应用。请分享您的想法以实现StaticResource的此功能?
为了实现这个目标,我尝试创建不同的资源字典来存储每个主题所需的样式及其键。所有主题中的键集合相同,但是每个主题中的定义不同。
我使用以下代码在单击时切换主题:
var theme = Application.LoadComponent(uri) as ResourceDictionary;
Application.Current.Resources.MergedDictionaries.Clear();
Application.Current.Resources.MergedDictionaries.Add(theme);
在所有页面/用户控件/窗口中,我已经设置了StaticResource并应用了适当的键。当我切换到另一个主题时,它只有在UI上的下一个事件后才会被应用。如果我将StaticResource更改为DynamicResource,则可以立即应用。请分享您的想法以实现StaticResource的此功能?