Триггеры данных WPF устанавливают свойства объекта на основе событий - PullRequest
4 голосов
/ 19 мая 2009

С помощью DataTriggers в WPF можно устанавливать свойства для элементов управления на основе объекта, который вы привязали. Например, вы можете установить фон TextBlock на основе свойства IsAlive вашего объекта.

<DataTrigger Binding="{Binding Path=IsAlive}" Value="true">
    <Setter Property="Background" Value="Yellow"/>
</DataTrigger>

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

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

Можно ли это сделать в триггерах WPF и данных? Спасибо.

Ответы [ 2 ]

1 голос
/ 14 января 2010

Возможно, вы захотите использовать EventSetter , затем обработать настройку с помощью кода, используя свойство DataContext отправителя или GetBindingExpression .
Это дает вам возможность установить обработчик на уровне стиля.

1 голос
/ 20 мая 2009

Я не знаю, возможно ли то, что вы просите, напрямую, но я подозреваю, что это не так. С другой стороны, я думаю, что вы могли бы заставить ваш пример сценария работать, привязав свойство IsAlive объекта непосредственно к свойству зависимостей IsMouseOver элемента управления с Mode = OneWayToSource.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...