반응형
WPF에서 트리거의 순서가 중요합니까?
다음 xaml이 있습니다.
<DockPanel>
<DockPanel.Resources>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="Yellow"></Setter>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Foreground" Value="Green"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</DockPanel.Resources>
<Button Content="Cut" Height="30" Width="75"/>
</DockPanel>
버튼 위에 마우스를 올리면 전경이 노란색으로 바뀌고 버튼을 누르면 전경이 녹색으로 바뀝니다.
이제 XAML에서 트리거의 순서를 반대로하면 전경이 위에 마우스를 올려 놓으면 노란색으로 변경되지만 버튼을 누르면 전경이 녹색으로 변경되지 않습니다.
이것에 대한 설명은 무엇입니까? 한 트리거가 다른 트리거보다 우선합니까?
WPF는 선언 된 순서대로 트리거를 처리합니다. 두 번째 예에서 전경은 너무 짧게 녹색으로 변경됩니다. 그러나 IsMouseOver 트리거가 실행되고 색상이 다시 노란색으로 설정됩니다.
IsMouseOver는 우선 순위 측면에서 IsPressed와 관계가 없습니다. 중요한 것은 트리거의 XAML에서 선언 순서입니다.
요컨대 : 트리거는 순서대로 처리됩니다.
이후 트리거는 이전 트리거보다 우선합니다.
참조 URL : https://stackoverflow.com/questions/561178/in-wpf-does-the-order-of-triggers-matter
반응형
'development' 카테고리의 다른 글
F # 오픈 소스 프로젝트 (0) | 2020.12.30 |
---|---|
가장 좋아하는 Grails 디버깅 트릭은 무엇입니까? (0) | 2020.12.30 |
Django / Python에서 PDF 양식을 어떻게 자동으로 채울 수 있습니까? (0) | 2020.12.30 |
Linux에서 현재 사용되는 MySQL 구성 파일의 위치를 찾는 방법 (0) | 2020.12.30 |
Python 프로그램 내에 대화 형 Python 셸 포함 (생성) (0) | 2020.12.30 |