Для чего используется это мультитриггерное условие wpf? - PullRequest
0 голосов
/ 07 октября 2019

Я попытался переопределить дизайн комбинированного списка wpf. В Интернете я нашел различные решения, и одно из них заключалось в том, чтобы щелкнуть правой кнопкой мыши по списку в конструкторе и затем выбрать «EditTemplate / Edit Copy», который должен создать ControlTemplate на основе шаблона со списком по умолчанию.

К сожалению,Я получил следующую ошибку: «Должно иметь значение NULL для свойства».

Я обнаружил, что это связано с триггерами, и попытался определить, откуда возникла ошибка, поскольку VS не указал на это.

Я наконец нашел триггер, который определен как:

    <MultiTrigger.Conditions>
      <Condition Property="IsGrouping" Value="True"/>
      <Condition>
        <Condition.Value>
          <System:Boolean>False</System:Boolean>
        </Condition.Value>
      </Condition>
    </MultiTrigger.Conditions>

Таким образом, на самом деле существует условие с неопределенным свойством свойства, и похоже, что оно ожидает, что что-то будет ложным, чтобы сработало ....

Я пытаюсь понять это условие,

(я помню такие условия на других SO сообщениях, но не смог найти их обратно ...)

1 Ответ

0 голосов
/ 07 октября 2019

A <Condition> должен иметь Property, но у вашего второго нет:

<Condition>
    <Condition.Value>
        <System:Boolean>False</System:Boolean>
    </Condition.Value>
</Condition>

Удалите его или установите для его свойства Property имя свойства, которое должно быть ложнымдля условия, которое необходимо применить:

<Condition Property="SomeProperty">

Не существует такой вещи, как "неопределенный Property". Вот что означает сообщение об ошибке «Должно иметь ненулевое значение для Property».

...