我想实现WPF ASP.Net类型的主题。 有用户的各种预定义的主题选择,并且可以切换到另一个主题。
要通过为每个主题和存储所需的风格,键不同的ResourceDictionary实现这个我都试过了。 领取钥匙在所有的主题相同,但它的定义是在每个不同的。
我使用下面的代码来切换主题上点击:
var theme = Application.LoadComponent(uri) as ResourceDictionary;
Application.Current.Resources.MergedDictionaries.Clear();
Application.Current.Resources.MergedDictionaries.Add(theme);
在所有页/用户控件/窗口我已经设置静态资源和应用相应的键。 当我切换到另一个主题,它是在UI下一个事件后只适用 。
如果我更改设置的StaticResource到DynamicResource则立即应用上。
请分享你的想法与静态资源来实现这一目标?