WPF按钮样式不适用于第二个按钮

时间:2018-07-12 14:17:03

标签: wpf wpf-style

我有两个使用静态通用样式的按钮:

<Button x:Name="BtnCreate" Height="22" Width="150" Style="{StaticResource Style.Button.Trash}"/>
<Button x:Name="aefae" Height="22" Width="150" Style="{StaticResource Style.Button.Trash}"/>

样式非常基本:

<Style TargetType="Button" x:Key="Style.Button.Trash" 
       BasedOn="{StaticResource {x:Type Button}}">
    <Setter Property="Content">
        <Setter.Value>
        <StackPanel Orientation="Horizontal" >
            <Image Source="{StaticResource Image.Trash}" Width="22" Height="22"/>
            <Label Content="Save" VerticalAlignment="Center" Height="26" />
        </StackPanel>
        </Setter.Value>
    </Setter>
</Style>

样式适用于第一个按钮,并同时显示图像和文本,但是第二个按钮除灰色按钮外不显示其他任何内容。

为什么第二个按钮不使用静态样式?

1 个答案:

答案 0 :(得分:1)

当您尝试将相同的fo:block-container添加到两个Content时,元素(在Button中存在)不能被添加到两个不同的逻辑父级。为避免这种情况,您可以将Style设置为样式。