WPF: активировать триггер при изменении привязанного свойства MVVM - PullRequest
3 голосов
/ 04 марта 2010

как-то я иду по кругу здесь. Пожалуйста, прости меня, если ответ на этот вопрос очевиден.

Я хочу реагировать на измененные свойства в ViewModel в View. Когда свойства (bool) меняются, представление должно запускать анимацию (BeginStoryBoard). На самом деле в моем приложении есть 4 из этих свойств, каждое из которых имеет собственное имя в виртуальной машине, и две нужные анимации (скрытие / отображение) для соответствующих 4 элементов представления контейнера.

При настройке этих триггеров (пробовал DataTrigger / Trigger / EventTrigger) непосредственно в соответствующих элементах контейнера (все они пользовательского типа SizerControl, производные от ContentConrol) wpf выдавал мне ошибки, предлагая использовать стиль. При установке стиля непосредственно в элементах контейнера я получил: «Тег 'Style.Triggers' не существует в пространстве имен XML ..." Но при использовании стиля в глобальном ResourceDictionary я затрудняюсь связать 4 контейнера, чтобы получить значение «input» для триггера.

У вас есть предложение, как решить эту проблему из архитектуры POV? Может быть, я уже зашел слишком далеко по неверному пути, чтобы увидеть очевидное решение.

Спасибо большое, Хиннерк

1 Ответ

3 голосов
/ 04 марта 2010

Вы можете сделать это с помощью DataTrigger и StoryBoard .

MSDN имеет полный пример, описывающий процесс, с кодом, задокументированным в Как: запускать анимацию при изменении данных .

...