내 UI에 레이블이 있으며 스타일이 있습니다. 라벨을 클릭 할 때 (클릭 이벤트가 라벨을 사용할 수 없습니다로 내가 MouseDown 이벤트를 사용)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
이벤트 코드
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. 두 번째 해결책은 나를 위해 잘 작동했습니다. 방금 다른 스타일을 썼고 레이블을 클릭하면 스타일이 프로그래밍 방식으로 적용됩니다. –