Главная » WPF » Добавление триггеров к элементам управления

0

Если триггеры данных расширяют  возможности по выносу логики из конвер теров значений,  то при проектировании классов Trigger и EventTrigger нами ру ководило  желание  вынести в разметку  всю зависящую  от представления логику элемента управления. Цель класса ControlTemplate – позволить полностью изме нять внешний вид элемента, не меняя его логику:

<ControlTemplate TargetType=’{x:Type Button}’>

<Border x:Name=’border’>

<ContentPresenter />

</Border>

<ControlTemplate.Triggers>

<Trigger Property=’IsPressed’ Value=’true’>

<Setter TargetName=’border’ Property=’Background’ Value=’Red’ />

</Trigger>

</ControlTemplate.Triggers>

</ControlTemplate>

DataTrigger тут помогает  только  частично:  мы можем  декларативно выпол нить преобразование данных и привязку.  Но для отображения элемента управле ния нужна большая гибкость. Класс Trigger дополняет функциональность DataTrigger, добавляя свойства  EnterActions и ExitActions. Следовательно, в от вет на переход свойства из одного состояния в другое мы можем, например, начи нать и заканчивать анимацию (как было показано в главе 5).

С другой стороны, объект EventTrigger получает извещение от события (к при

меру, MouseEnter или Loaded)  и позволяет  управлять несколькими анимациями.

Сейчас мы можем сформулировать два интересных  наблюдения,  касающихся триггеров.  Во первых,  в  ответ  на  срабатывание   триггера  могут  выполняться

«действия»  двух видов: управляющие действия  в раскадровке и объекты Setter. Объекты  Setter  поддерживают настройку  свойств  и  событий,  а управляющие действия  в раскадровке позволяют  выполнять воспроизведение, останов, паузу и т.д. Объекты  EventTrigger, а также действия  при входе и выходе, заданные в объ екте Trigger, работают только с управляющими действиями в раскадровке.

Второе любопытное наблюдение связано с тем, что список триггеров и иници ируемых ими действий в версии WPF 1.0 не расширяем.  Однако раздвинуть  гра ницы  применимости триггеров  можно довольно  широко  за счет использования сложных триггеров и их комбинирования.

Источник: К. Андерсон  Основы  Windows Presentation Foundation. Пер. с англ. А. Слинкина — М.: ДМК Пресс, 2008 — 432 с.: ил.

По теме:

  • Комментарии