Можно ли использовать перенаправленные события с MultiTrigger? - PullRequest
2 голосов
/ 07 октября 2008

Поддерживает ли WPF использование триггеров, которые отвечают на перенаправленные события, но только при условии выполнения условия?

Например, WPF поддерживает запуск по перенаправленным событиям через триггеры событий. а именно:

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

Однако я ищу срабатывание триггера только при соблюдении определенных условий. Обычно вы используете MultiTriggers для выполнения нескольких условий. то есть:

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

Однако ни MultiTrigger, ни MultiDataTrigger, похоже, не поддерживают запуск при перенаправленных событиях. Можно ли даже смешать эти две концепции перенаправленных событий и условий в XAML?

1 Ответ

2 голосов
/ 07 октября 2008

Не думаю, что это так. Во всяком случае, не так, как ты думаешь.

MultiTrigger и MultiDataTrigger запускаются, когда несколько свойств имеют совпадающие значения одновременно . Это то, что может легко произойти, потому что оно основано на состоянии. Он основан на значениях, которые остаются неизменными, по крайней мере, некоторое время.

С другой стороны, события случаются, а потом исчезают. Как вы могли бы реагировать на два множественных события, если они не происходят одновременно?

Вы должны будете использовать EventTrigger s - возможно, в парах set-enter / set-left - чтобы установить состояние определенных свойств (здесь прикрепленные свойства звучат хорошо), а затем создать MultiTrigger, посмотрел на эти свойства.

...