2011-07-28 6 views
1

ToggleButton 컨트롤을 사용하고 있습니다. 배경 및 전경색을 변경하는 IsChecked 및 IsMouseOver 속성에 대한 트리거가 있습니다. ToggleButton을 선택하면 IsMouseOver 트리거가 실행되는 것을 원하지 않습니다. 이것이 가능한가? ToggleButton을위한다른 트리거가 활성화되어 있으면 트리거가 실행되지 않습니다.

나의 현재 트리거 :

<ControlTemplate.Triggers> 
    <Trigger Property="IsChecked" Value="True"> 
     <Setter TargetName="Border" Property="Background" Value="{DynamicResource ControlSelectedBrush}"/> 
     <Setter TargetName="ToggleButtonText" Property="Foreground" Value="{DynamicResource ControlSelectedTextBrush}"/> 
    </Trigger> 
    <Trigger Property="IsMouseOver" Value="True"> 
     <Setter TargetName="ToggleButtonText" Property="Foreground" Value="{DynamicResource ControlHoverBrush}"/> 
    </Trigger> 
</ControlTemplate.Triggers> 

답변

2

MultiTrigger를 사용하여 추가 조건으로 그 정의합니다.

즉 내가 찾던 정확히 무엇을

<MultiTrigger> 
    <MultiTrigger.Conditions> 
     <Condition Property="IsMouseOver" Value="True" /> 
     <Condition Property="IsChecked" Value="False" /> 
    </MultiTrigger.Conditions> 
    <Setter TargetName="ToggleButtonText" Property="Foreground" 
      Value="{DynamicResource ControlHoverBrush}" /> 
</MultiTrigger> 
+0

. 감사! –

+0

도움을 받아서 기쁩니다. :) –

관련 문제