Это странно.
Кроме того, возможно, вы изменили свойства файла «Build Action
на нечто иное, чем Compile
), ?
Триггер обычно используется в Style или ControlTemplate. Он запускается по свойствам шаблона и устанавливает другие свойства элемента управления (или определенных элементов шаблона). Например, вы могли бы использовать триггер на IsMouseOver, чтобы реагировать на наведение мыши на элемент управления, а установщики могут обновлять кисть, чтобы показать «горячий» эффект.
DataTrigger срабатывает по привязке данных, а не по свойству элемента управления. Обычно он используется в DataTemplate. Например, вы можете использовать DataTrigger для изменения цвета элемента в DataTemplate, если свойство AlertLevel было равно ZomgWereAllGoingToDie. DataTrigger также может быть полезен в шаблонах элементов управления, если вы хотите запускать «преобразованное» свойство элемента управления (т. Е. Использовать IValueConverter в тесте триггера). Например, вы можете использовать DataTrigger, чтобы превратить передний план TextBox в красный цвет, если свойство Text, рассматриваемое как число, было отрицательным, с помощью DataTrigger с подходящим IValueConverter и RelativeSource из Self или TemplatedParent.
MultiTrigger и MultiDataTrigger одинаковы, за исключением того, что они позволяют указать несколько условий (свойств или привязок соответственно) и вступают в силу только тогда, когда все условия удовлетворены.
Наконец, EventTrigger используется для запуска действий в ответ на события (в отличие от изменения одной части состояния в ответ на другую часть состояния). Например, вы можете использовать EventTrigger для ответа на событие MouseEnter. EventTrigger обычно используются для выполнения раскадровки, например, для выполнения анимации при возникновении события.