Это в App.xaml мой Style
:Статический ресурс для сеттер Value
<Style x:Key="numButton" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Image x:Name="img" Style="{DynamicResource imgDefault}"></Image>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="true">
<Setter Property="Source" TargetName="img" Value="img/1_push.png"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Cursor" Value="Hand"></Setter>
</Style>
<Style x:Key="imgDefault" TargetType="{x:Type Image}">
<Setter Property="Source" Value="img/0.png"></Setter>
</Style>
У меня есть несколько кнопок в виде чисел (0-9), и я хочу использовать один стиль для всех из, чтобы избежать больше текста типирование. Так что теперь я хочу знать, можно ли изменить Value="img/1_push.png"
в App.xaml для каждой кнопки, когда она нажата
<Button Name="btn1" Grid.Row="0" Grid.Column="0" Style="{DynamicResource numButton}" Foreground="White">
<Button.Resources>
<Style x:Key="imgDefault" TargetType="{x:Type Image}">
<Setter Property="Source" Value="img/1.png"></Setter>
</Style>
</Button.Resources>
</Button>
: В настоящее время я могу изменить фон по умолчанию каждой кнопки, как это? Например, когда нажата 2
, я хочу, чтобы это был фон 2_push.png
.
Заранее спасибо.
см. [Это] (http://stackoverflow.com/a/12271980/692829) ответ, вам нужно только заменить 'IsMouseOver' на' IsPressed' – lena