2010-02-01 1 views
1

하나의 컨트롤이 시간에 표시되는 내 UserControl에 세 개의 그리드가 있습니다. 마지막 열에서 데이터를 확인하고 Foreground 색상을 적용해야하는 Style을 사용해야합니다. DataTriggers을 사용하여 3 개의 그리드에서 각 컨트롤의 스타일을 쓸 수 있습니다. 하지만 어디서나 사용할 수있는 Resource의 구체적인 스타일이 필요합니다. 나는 MultiDataTrigger을 시도했으나 하나의 컨트롤에서 데이터를 검사해야하지만 MultiDataTrigger.Conditions에서 2 개 이상의 컨디션을 확인하면서 내 용도로 사용하지 않습니다. 이것을 달성하기위한 대안이 있습니까?MultiDataTrigger를 사용하여 단일 조건을 WPF의 Style.Triggers에서 true로 검사하는 방법?

답변

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> 
:

는 것처럼 보일 수 있습니다 방법입니다