반응형
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
반응형
'programing' 카테고리의 다른 글
| Azure App 등록 클라이언트 비밀 만료 (0) | 2023.04.28 |
|---|---|
| 기존 테이블에 열을 추가하고 MS SQL Server에서 고유 번호 지정 (0) | 2023.04.28 |
| WPF 데이터 바인딩과 함께 Entity Framework를 사용하는 모범 사례 (0) | 2023.04.28 |
| 특정 문자가 문자열에 나타나는 횟수 (0) | 2023.04.28 |
| "양수" 키워드는 파이썬에서 어떤 역할을 합니까? (0) | 2023.04.28 |