2011-09-16 17 views
2

テキストボックステンプレートとその状態を作成しました。状態は主にそこにあるので、私はストーリーボードを使って視覚的要素を表示/非表示にすることができます。WPF:トリガーを使用してコントロールの状態を変更する

たとえば、「新しいエラー」や「エラーなし」などの遷移を持つ「エラー」状態グループがあります。

また、コントロールの "Validate.HasError"が "True"または "False"に設定されているかどうかを確認するトリガーもあります。

これらのトリガーを使用してコントロールの状態を変更したいので、コントロールが検証に失敗するたびに適切なアニメーションを再生できます。

つまり、これらのトリガーを使用して、コントロールの状態を「新しいエラー」または「エラーなし」に変更できますか?

私は、好ましくは、コードビハインドを使用することなく、状態を変更したい:トリガーのアクションが得るとき、私は単純に別の絵コンテを割り当てる(すなわちVisualStateManager.GoToState(...))

答えて

1

の代わりの状態を使用して活性化または非活性化:

<ControlTemplate.Triggers> 
    <Trigger Property="Validation.HasError" Value="true"> 
     <Trigger.ExitActions> 
      <BeginStoryboard x:Name="HideError_BeginStoryboard" Storyboard="{StaticResource HideError}"/> 
     </Trigger.ExitActions> 
     <Trigger.EnterActions> 
      <BeginStoryboard Storyboard="{StaticResource DisplayError}"/> 
     </Trigger.EnterActions> 
    </Trigger> 
</ControlTemplate.Triggers> 
関連する問題