我无法扩展我在Windows字典中定义的一种样式。仅此而已,它似乎像预期的那样将样式应用于控件。但是,如果尝试在我的一个用户控件中使用basedon属性扩展样式,那么它只会覆盖主样式,而所有的基本样式都会被取消。下面是一个例子:
在名为dict1.xaml的资源字典中:
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="Pink"/>
</Style>
在主窗口中.xaml:
<Window.Resources>
<ResourceDictionary Source="dict1.xaml"/>
</Window.Resources>
在名为usercontrol1.xaml的用户控件中:
<UserControl.Resources>
<Style BasedOn="{StaticResource {x:Type Button}}"
TargetType="{x:Type Button}">
<Setter Property="FontWeight" Value="Bold"/>
</Style>
</UserControl.Resources>
用户控件中的样式仅覆盖资源字典中的样式,字体为粗体。如果删除用户控件中的样式,字典中的样式将生效,背景将变为粉红色。我两个都想要。
你知道我在这里做错什么吗?
谢谢。