在多个程序集中应用全局样式

时间:2010-12-13 20:57:29

标签: c# wpf xaml theming

我的应用程序由相当多的程序集(“插件”)组成,这些程序集由核心可执行程序集(它本身不包含任何控件或窗口)加载。现在我想从中央程序集的Application.Resources样式(可能选择用户可以从多个主题中选择)将样式应用于控件(例如Menus / ContextMenus,ToolBar(Tray)等)。

我让它使用命名样式(x:Key="StyleName",由DynamicResource调用,StaticResource不起作用),但将Style="{DynamicResource ...}"添加到每个每个集会中的控制让我有点害怕。但是无论我做什么,使用TargetType="{x:Type TypeName}"的控件范围样式都不起作用。

如何从一个中央装配体整体设置所有控件的样式?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

也许this great article on WPF skinning可能会帮助您找到正确的方向?

在介绍中,他强调了皮肤/主题的“三大支柱”以及如何利用分层资源。

虽然我担心(不确定)您可能仍需要将静态资源更改为动态资源。