我有五个这样的按钮:
<Button Name="btnAssets" Grid.Row="1" Margin="7,1,7,1" Click="btnDrawer_Click" >
<StackPanel >
<StackPanel.Background>
<ImageBrush ImageSource="/Test;component/Images/DrawerSlid.png" />
</StackPanel.Background>
<Image Margin="0,0,0,0" Source="/Test;component/Images/DrawerUpper2.png" />
<TextBlock Margin="0,10,0,10" TextWrapping="WrapWithOverflow" TextAlignment="Center">Assets</TextBlock>
<Image Margin="0,0,0,0" Source="/Test;component/Images/DrawerSlid2.png" />
</StackPanel>
</Button>
这些按钮的样式触发器如下:
<Style TargetType="StackPanel">
<Setter Property= "TextBlock.Foreground" Value="White"/>
<Setter Property= "TextBlock.FontSize" Value="12"/>
<Style.Triggers>
<Trigger Property ="IsMouseOver" Value="True">
<Setter Property= "TextBlock.Foreground" Value="Yellow"/>
<Setter Property= "TextBlock.FontSize" Value="13"/>
</Trigger>
</Style.Triggers>
</Style>
这些代码工作正常。现在我希望当用户点击任何Button时,应该更改其前景颜色和字体大小。但我找不到任何简单的解决方案。怎么做才能通过xaml或通过c#?
答案 0 :(得分:1)
您可以在按钮样式模板中使用触发器“IsPressed”。 见http://geekswithblogs.net/cskardon/archive/2008/06/20/roundedbutton-button-style-wpf.aspx
答案 1 :(得分:0)
按钮在WPF中具有不同的构造方式,因此有一些工作涉及使按钮的触发器按您的意愿工作。步骤通常是:
这里给出了一篇精美的工作文章和例子: http://www.wiredprairie.us/journal/2006/09/wpf_decorators_build_your_own.html