Стиль кнопки WPF не будет применяться ко второй кнопке

У меня есть две кнопки, которые используют статический общий стиль:

<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 ответ

Решение

Как вы пытаетесь добавить то же самое Content до двух Buttons, элементы (присутствующие в Style) нельзя добавить к двум разным логическим родителям. Чтобы избежать этого, вы можете установить x:Shared="False" в твоем стиле.

Другие вопросы по тегам