ルーティングイベントをMultiTriggerで使用できますか?
-
05-07-2019 - |
質問
WPFは、ルーティングされたイベントに応答するトリガーの使用をサポートしますが、条件が満たされた場合のみ満たされますか?
たとえば、WPFは、イベントトリガーを介してルーティングイベントのトリガーをサポートします。 例:
<Button>
<Button.Triggers>
<EventTrigger RoutedEvent="Click">
...
</..
</..
</..
ただし、特定の条件が満たされた場合にのみトリガーがオフになるようにしています。通常、複数の条件を満たすためにMultiTriggersを使用します。例:
<Button>
<Button.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="..." Value="..."/>
<Condition Binding="..." Value="..."/>
</..
</..
</..
</..
ただし、MultiTriggerもMultiDataTriggerもルーティングイベントでのトリガーをサポートしていないようです。ルーティングイベントとルーティングのこれら2つの概念をXAMLで混在させることも可能ですか?
解決
私はそうは思いません。とにかくあなたがそれについて考えている方法ではありません。
MultiTrigger
および MultiDataTrigger
は、複数のプロパティが一致する値を同時に持つときにトリガーされます。これは状態に基づいているため、簡単に発生する可能性があります。少なくともしばらくは同じ値に基づいています。
一方、イベントは発生してから消えます。同時に発生しない2つの複数のイベントにどのように対応できますか?
EventTrigger
を使用して(おそらくset-enter / set-leaveペアで)特定のプロパティの状態を設定する必要があります(ここでは添付プロパティは適切に聞こえます)。これらのプロパティを見た MultiTrigger
。
所属していません StackOverflow