0
我在我的UI中有一个标签并且有一个样式。WPF标签IsMouseOver样式在点击后不起作用
<Style x:Key="ColorChangingLabel" TargetType="{x:Type Label}">
<Setter Property="FontSize" Value="13"></Setter>
<Setter Property="Foreground" Value="#ff676767"></Setter>
<Setter Property="Background" Value="White"></Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#ffEAECEE"></Setter>
<Setter Property="Foreground" Value="#ff0067B0"></Setter>
</Trigger>
</Style.Triggers>
</Style>
除了MouseOver
触发我也想设置相同的属性值在单击标签时(如点击事件不适用于标签我使用MouseDown事件)。 这里是MouseDown
事件代码
private void myLabel_MouseDown(object sender, MouseButtonEventArgs e){
myLabel.Foreground = new SolidColorBrush(Color.FromArgb(0xff, 0x00, 0x67, 0xB0));
myLabel.Background = new SolidColorBrush(Color.FromArgb(0xff, 0xea, 0xec, 0xee));
}
所以我的问题是,如果我的鼠标了我的标签上,之后我的鼠标悬停的风格永远不会应用到我的标签。我知道风格重写,但不知道如何摆脱这一点。
谢谢@Mike。第二种解决方案对我很好。我只写了另一种风格,点击标签时只需以编程方式应用该风格。 – 2014-10-29 08:40:07