Поскольку вы явно устанавливаете свойство Content
для Button
, его значение может быть применено только один раз. По умолчанию атрибут XAML x:Shared
имеет значение true. Это означает, что любой данный запрос ресурса всегда возвращает один и тот же экземпляр. В вашем случае это означает, что каждый раз, когда применяется Style
, применяется одно и то же значение ContentControl.Content
. Чтобы опустить это, у вас есть три варианта.
Первый вариант - установить для атрибута XAML тега Style
значение true:
<Style x:Shared=False ...></Style>
Второй вариант - переопределить ControlTemplate
из Control
:
<Style ...>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Margin="5" Text="Save"/>
<Image Source="Resources\icons\save.png" Margin="5"
Height="16" Width="16"></Image>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
Третий вариант - переопределить ContentControl.ContentTemplate
напрямую:
<Style ...">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Margin="5" Text="Save"/>
<Image Source="Resources\icons\save.png" Margin="5"
Height="16" Width="16"></Image>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>