添加一个WPF样式属性会杀死所有其他样式属性

时间:2018-04-19 13:03:00

标签: c# wpf xaml

我的WPF按钮样式,在主窗口中定义:

<Window.Resources>
    <Style TargetType="Button">
        <Setter Property="Width" Value="Auto" />
        <Setter Property="Height" Value="Auto" />
        <Setter Property="FontSize" Value="12" />
        <Setter Property="Foreground" Value="#FFFFFF" />
        <Setter Property="Background" Value="#3fa9f5" />
        ...
    </Style>
</Window.Resources>

UserControl 中,我想根据绑定设置内容和背景:

<Button.Style>
    <Style TargetType="Button">
        <Setter Property="Content" Value="Text123" />
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=myControl, Path=IsHidden}"
                             Value="true">
                    <Setter Property="Content" Value="TextABC" />
                    <Setter Property="Background" Value="#ff1d25" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>

问题: UserControl中的按钮会丢失从主窗口样式(颜色,宽度,边距等)获取的所有其他属性。

我尝试通过

让UserControl按钮的样式知道父样式
BasedOn="{StaticResource {x:Type Button}}"

但没有结果。

0 个答案:

没有答案