質問

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top