하나의 컨트롤이 시간에 표시되는 내 UserControl에 세 개의 그리드가 있습니다. 마지막 열에서 데이터를 확인하고 Foreground 색상을 적용해야하는 Style을 사용해야합니다. DataTriggers
을 사용하여 3 개의 그리드에서 각 컨트롤의 스타일을 쓸 수 있습니다. 하지만 어디서나 사용할 수있는 Resource의 구체적인 스타일이 필요합니다. 나는 MultiDataTrigger
을 시도했으나 하나의 컨트롤에서 데이터를 검사해야하지만 MultiDataTrigger.Conditions
에서 2 개 이상의 컨디션을 확인하면서 내 용도로 사용하지 않습니다. 이것을 달성하기위한 대안이 있습니까?MultiDataTrigger를 사용하여 단일 조건을 WPF의 Style.Triggers에서 true로 검사하는 방법?
1
A
답변
1
일종의 그리드를 사용한다면, 아마도 당신의 작업을 수행하기 위해 CellTemplate이나 다른 속성을 사용하고있을 것입니다. 다른 열에서 다른 스타일을 사용해야 할 필요가 있다고 생각합니다.
그러나 트리거를 제외하고 해당 스타일이 동일한 경우 두 가지 모두에 공통된 모든 스타일로 하나의 스타일을 만든 다음 첫 번째 스타일을 기반으로 다른 스타일을 만들 수 있습니다. OOP의 상속과 약간 비슷합니다.
<Style x:Key="BaseStyle" TargetType=".....">
<!-- Common setters and triggers -->
<Setter ... />
<Setter ... />
<Setter ... />
</Style>
<Style x:Key="InheritedStyle" BasedOn="{StaticResource BaseStyle}" TargetType=".....">
<!-- This style's specific setters and triggers -->
<Setter ... />
<Style.Triggers>
...
<Style.Triggers>
</Style>
:
이
는 것처럼 보일 수 있습니다 방법입니다