WPF で VisualStates を列挙値にバインドする簡単な方法はありますか? DataStateBehavior のようなものですが、Enum の場合は?
1935 次
4 に答える
3
可能な列挙値ごとに DataTrigger を使用し、各トリガーが異なる状態で GoToStateAction を呼び出すことにより、純粋な xaml でそれを行うことができます。以下の例を参照してください。詳細については 、ViewModel を介して Visual State の変更を駆動する Enumを参照してください。
<i:Interaction.Triggers>
<ei:DataTrigger Binding="{Binding ConfirmedAnswerStatus}" Value="Unanswered">
<ei:GoToStateAction StateName="UnansweredState" UseTransitions="False" />
</ei:DataTrigger>
<ei:DataTrigger Binding="{Binding ConfirmedAnswerStatus}" Value="Correct">
<ei:GoToStateAction StateName="CorrectlyAnsweredState" UseTransitions="True" />
</ei:DataTrigger>
<ei:DataTrigger Binding="{Binding ConfirmedAnswerStatus}" Value="Incorrect">
<ei:GoToStateAction StateName="IncorrectlyAnsweredState" UseTransitions="True" />
</ei:DataTrigger>
</i:Interaction.Triggers>
于 2012-02-09T18:46:35.120 に答える
1
SLにはWPFに移植できるDataStateSwitchBehaviorがあります。WPF4用のDataStateSwitchBehaviorを持っている人はいますか?
構文は非常に単純です。
<is:DataStateSwitchBehavior Binding="{Binding Orientation}">
<is:DataStateSwitchCase Value="Left" State="LeftState"/>
<is:DataStateSwitchCase Value="Right" State="RightState"/>
<is:DataStateSwitchCase Value="Down" State="DownState"/>
<is:DataStateSwitchCase Value="Up" State="UpState"/>
<is:DataStateSwitchCase/>
于 2011-03-25T16:49:02.957 に答える