【发布时间】:2014-02-11 13:30:27
【问题描述】:
当用户单击它时,我正在尝试更改按钮的Background 颜色。我正在使用触发器来实现它。
我的 XAML 是:
<UserControl.Resources>
<Style x:Key="myBtnStyle" TargetType="{x:Type Button}">
<!--VerticalAlignment="Top" VerticalContentAlignment="Top" Background="Blue" HorizontalAlignment="Right"
Height="24" Width="25" FontSize="16" FontWeight="Bold" -->
<Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="VerticalContentAlignment" Value="Top" />
<Setter Property="Background" Value="Blue" />
<Setter Property="HorizontalAlignment" Value="Right" />
<Setter Property="Height" Value="24" />
<Setter Property="Width" Value="25" />
<Setter Property="FontSize" Value="16" />
<Setter Property="FontWeight" Value="Bold" />
<Style.Triggers>
<Trigger Property="Button.IsMouseOver" Value="true">
<Setter Property="Background" Value="Yellow" />
</Trigger>
</Style.Triggers>
</Style>
<!--
<ControlTemplate x:Key="btnTemplate" TargetType="{x:Type Button}">
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="True" >
<Setter Property="Background" Value="Cyan" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate> -->
</UserControl.Resources>
<Button DockPanel.Dock="Right" Style="{StaticResource myBtnStyle}" Name="btnVert" Click="btnVert_Click"
Margin="10,10,10,0" ToolTip="Vertical" Content="V" />
我尝试了各种设置,但在单击鼠标时无法更改按钮上的背景颜色。还提到了各种网站 - MSDN、SharpCorner、CodeProject 和许多其他网站。不知道我哪里出错了?
如何让Background在点击事件时改变按钮的颜色?
谢谢。
【问题讨论】:
-
您的 IsMouseOver 触发器是否有效?如果是这样,为什么不以同样的方式添加 ISPressed?
-
@o_weisman,IsMouseOver 也不起作用..
标签: c# wpf xaml triggers eventtrigger