解决方案:UserControl不是实际类型,因此我不能在usercontrols上使用Implicit Styles。谢谢蒂姆。
以下隐式风格似乎没有做任何事情。
<Style TargetType="UserControl">
<Setter Property="FontFamily" Value="Webdings"/>
<Setter Property="Foreground" Value="Red"/>
</Style>
我知道样式会加载到Apps资源字典中,因为如果我在同一个.xaml文件中明确设置了另一种样式,它就可以正常工作。
示例:
<Style TargetType="Control" x:Key="BaseStyle">
<Setter Property="FontFamily" Value="Webdings"/>
</Style>
如果我在标签中放置Style =“{StaticResource BaseStyle}”,则工作正常。 谢谢 -Shane
答案 0 :(得分:2)
您需要指定控件的实际类型,而不是仅使用UserControl。隐式样式仅适用于特定类型。所以而不是:
<Style TargetType="UserControl">
<Setter Property="FontFamily" Value="Webdings"/>
<Setter Property="Foreground" Value="Red"/>
</Style>
你会用:
<Style TargetType="my:MyUserControl">
<Setter Property="FontFamily" Value="Webdings"/>
<Setter Property="Foreground" Value="Red"/>
</Style>
其中my
被声明为您的命名空间,MyUserControl
是UserControl派生控件的实际类名。