2

WPF は、ルーティングされたイベントに応答するトリガーの使用をサポートしていますが、条件が満たされた場合にのみ使用できますか?

たとえば、WPF は、イベント トリガーを介したルーティング イベントでのトリガーをサポートしています。すなわち:

<Button>
  <Button.Triggers>
    <EventTrigger RoutedEvent="Click">
      ...
    </..
  </..
</..

ただし、特定の条件が満たされた場合にのみトリガーがオフになるトリガーを探しています。通常、MultiTrigger は複数の条件を満たすために使用します。すなわち:

<Button>
  <Button.Triggers>
    <MultiDataTrigger>
      <MultiDataTrigger.Conditions>
         <Condition Binding="..." Value="..."/>
         <Condition Binding="..." Value="..."/>
      </..
    </..
  </..
</..

ただし、MultiTrigger または MultiDataTrigger は、ルーティング イベントでのトリガーをサポートしていないようです。これら 2 つのルーティング イベントと条件の概念を XAML で混在させることはできますか?

4

1 に答える 1

2

そうではないと思います。とにかく、あなたがそれについて考えている方法ではありません。

MultiTriggerとは、複数のプロパティが同時にMultiDataTrigger一致する値を持つ場合にトリガーされます。これは、状態に基づいているため、簡単に発生する可能性があります。それは、少なくともしばらくの間、変わらない値に基づいています。

一方、イベントは発生してから消えます。2 つの複数のイベントが同時に発生していない場合、どのように対応できますか?

EventTriggers を (set-enter/set-leave のペアで) 使用して、特定のプロパティの状態を設定し (ここでは添付プロパティが適切に聞こえます)、それらのプロパティを参照する を作成する必要MultiTriggerがあります。

于 2008-10-06T20:46:40.167 に答える