从另一个组件中的样式WPF一个用户控件
-
20-09-2019 - |
题
我在一个应用程序组件中定义的WPF的用户控制。我试图样式基于样式在另一个(皮肤或主题)组装的用户控制。我不想主题/皮肤组件,它包含了所有引用的应用程序组件样式的资源字典。是否有这样做的方法吗? E.g。
WPFApplication装配
MyUserControl.xaml < - WPF用户控件
主题装配
MyStyles.xaml < - WPF资源字典
我假设我可以使用
<Style x:Key="MyStyle">
<Setter Property="Background" Value="Red" />
</Style>
:使用在MyStyles.xaml ResourceDictionary中,并
<l:MyUserControl Name="control" Style="{StaticResource MyStyle}" />
在使用MyUserControl.xaml在WPFApplication组件中的任何窗口
然而,我宁愿定位在MyStyles.xaml ResourceDictionary中的自定义用户控制:
<Style TargetType="{x:Type l:MyUserControl}" x:Key="MyStyle">
<Setter Property="Background" Value="Red" />
</Style>
这是可能的?
解决方案
是的,你可以做到这一点。 选中此SO帖子在这里我展示了如何做到这一点编程。我与CONTROLTEMPLATES做,但同样的事情适用于样式为好。
要做到这一点声明可能更简单,您可能需要编程合并您resourcedictionaries,声明在XAML中正确的StaticResources和命名空间,然后只引用您想要的样式/模板。
不隶属于 StackOverflow