我的应用程序由相当多的程序集(“插件”)组成,这些程序集由核心可执行程序集(它本身不包含任何控件或窗口)加载。现在我想从中央程序集的Application.Resources样式(可能选择用户可以从多个主题中选择)将样式应用于控件(例如Menus / ContextMenus,ToolBar(Tray)等)。
我让它使用命名样式(x:Key="StyleName"
,由DynamicResource
调用,StaticResource
不起作用),但将Style="{DynamicResource ...}"
添加到每个每个集会中的控制让我有点害怕。但是无论我做什么,使用TargetType="{x:Type TypeName}"
的控件范围样式都不起作用。
如何从一个中央装配体整体设置所有控件的样式?
感谢您的帮助。
答案 0 :(得分:2)
也许this great article on WPF skinning可能会帮助您找到正确的方向?
在介绍中,他强调了皮肤/主题的“三大支柱”以及如何利用分层资源。
虽然我担心(不确定)您可能仍需要将静态资源更改为动态资源。