我有延长我在Windows字典定义我的风格的一个麻烦。仅此一项,似乎风格应用到我的控制预期。但是,如果尝试在用户控件我的一个延长的风格,使用支持算法FMP财产,它只是覆盖了主要的一个,所有的基本样式dissapear。下面是一个例子:

在资源字典,命名dict1.xaml:

<Style TargetType="{x:Type Button}">
    <Setter Property="Background" Value="Pink"/>
</Style>  

在主window.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>

在用户控制的样式简单地覆盖一个在资源字典和字体是粗体。如果我在用户控件删除样式,在字典中踢的风格和背景变成粉红色。我想这两者。

任何想法就是我在这里做错了吗?

感谢。

有帮助吗?

解决方案

您要么需要添加字典到该用户控件的资源,或者将其添加到App.xaml中的资源。

因为它是,该用户控件无法解析StaticResource的 - 它是在用户控件的范围,而不是窗口,如果是有道理的

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top