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