2016-11-03 4 views
-1

チェックボックスの同じプロパティに2つのトリガがあり、正しく動作しません。WPF同じプロパティの複数のトリガが正しく機能しない

<ControlTemplate.Triggers> 

    <Trigger Property="IsChecked" Value="False"> 
     <Setter TargetName="InnerText" Property="Text" Value="False" /> 
     <Trigger.EnterActions> 
      <BeginStoryboard Storyboard="{StaticResource OnUnCheck}"/> 
     </Trigger.EnterActions> 
    </Trigger> 

    <Trigger Property="IsChecked" Value="True"> 
     <Setter TargetName="InnerText" Property="Text" Value="True" /> 
     <Trigger.EnterActions> 
      <BeginStoryboard Storyboard="{StaticResource OnCheck}"/> 
     </Trigger.EnterActions> 
    </Trigger> 

</ControlTemplate.Triggers> 

チェックボックスのチェックを外すと、テキストが設定され、ストーリーボードはうまく呼び出されます。しかし、CheckBoxをチェックすると、テキストは正しく設定されますが、ストーリーボードは呼び出されません。 CheckBoxのチェックを外しても、そのストーリーボードは引き続き動作します。

次に、トリガーの順序を入れ替えた場合は、Value="True"が最初のストーリーボードであり、そのストーリーボードのみが動作します。どちらの場合も、テキストはうまく設定され、両方のストーリーボードが機能することが確認されます。どちらの場合でも、2番目のトリガーのストーリーボードは呼び出されません。 MultiTriggerを使用する必要がありますか?

編集:私の絵コンテは後方だったので、それは最初のトリガーがない二

答えて

1

ありませんおかげで、私の質問をd​​ownvoted誰にストーリーボードを、呼び出していないのですが、私は解決策を考え出しました。別のトリガーが動作していないようでしたたので、私はこれもFalse一部としてを実行していないという利点もあり、

<Trigger Property="IsChecked" Value="True"> 
    <Trigger.EnterActions> 
     <BeginStoryboard Storyboard="{StaticResource OnCheck}"/> 
    </Trigger.EnterActions> 
    <Trigger.ExitActions> 
     <BeginStoryboard Storyboard="{StaticResource OnUnCheck}"/> 
    </Trigger.ExitActions> 
</Trigger> 

をテキストの設定が含まれており、<Trigger.ExitActions>に私Falseチェックを入れて、私の絵コンテを編集しましたすぐにコントロールが読み込まれます。

関連する問題