xaml: существует ли метод для реализации логики ИЛИ в нескольких триггерах? - PullRequest
1 голос
/ 14 декабря 2009

Я хочу, чтобы роль была либо TopLevelHeader ИЛИ TopLevelItem, а также IsPressed. Возможно ли это без указания двух MultiTriggers?

<MultiTrigger>

  <MultiTrigger.Conditions>

  <!--  IsPressed   -->
  <Condition Property="IsPressed" Value="True"/>
  <Condition Property="Role" Value="TopLevelHeader"/>

  </MultiTrigger.Conditions>

    <Setter TargetName="Border" Property="Background" .../>

</MultiTrigger>

ТИА

1 Ответ

2 голосов
/ 14 декабря 2009

Чарли Роббинс опубликовал статью на Как использовать MultiTrigger с условием "или" :

MultiTrigger (и MultiDataTrigger) у обоих есть свойство под названием «Условия» типа ConditionCollection. Каждое условие объект в этих ConditionCollections можно использовать в один из двух способов:

  1. Вы можете установить свойства Property и Value для настройки обычного Состояние объекта.
  2. Вы можете установить свойства Binding и Value для настройки условия данных.

Теперь, если вы хотите выполнить или состояние в любом случае вы будете на самом деле использовать MultiDataTrigger. Гоча здесь в том, что мы можем использовать Обязательное свойство Условия класс в сочетании с MultiValueConverter для получения желаемого поведение ... подробнее

Он также опубликовал пример решения .

...