Стиль кнопки 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
до двух Button
s, элементы (присутствующие в Style
) нельзя добавить к двум разным логическим родителям. Чтобы избежать этого, вы можете установить x:Shared="False"
в твоем стиле.