EventTrigger Класс

Определение

Представляет триггер, который применяет набор действий в ответ на событие.

public ref class EventTrigger : System::Windows::TriggerBase, System::Windows::Markup::IAddChild
[System.Windows.Markup.ContentProperty("Actions")]
public class EventTrigger : System.Windows.TriggerBase, System.Windows.Markup.IAddChild
[<System.Windows.Markup.ContentProperty("Actions")>]
type EventTrigger = class
    inherit TriggerBase
    interface IAddChild
Public Class EventTrigger
Inherits TriggerBase
Implements IAddChild
Наследование
Атрибуты
Реализации

Примеры

В этом примере показано, как использовать триггеры событий в стиле для анимации MouseEnter событий FrameworkElementи MouseLeave объекта . В этом примере Style имеет TargetType значение Rectangle. Поэтому нет необходимости квалифицировать MouseEnter имена событий и MouseLeave с именем класса.

<Style TargetType="Rectangle">
  <Setter Property="Width" Value="50" />
  <Setter Property="Height" Value="50" />
  <Setter Property="Margin" Value="20" />
  <Setter Property="HorizontalAlignment" Value="Left" />
  <Style.Triggers>
    <EventTrigger RoutedEvent="MouseEnter">
        <BeginStoryboard>
            <Storyboard>
              <DoubleAnimation To="300" Duration="0:0:1.5" 
                AccelerationRatio="0.10" DecelerationRatio="0.25" 
                Storyboard.TargetProperty="(Canvas.Width)" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
    <EventTrigger RoutedEvent="MouseLeave">
        <BeginStoryboard>
            <Storyboard>
              <DoubleAnimation Duration="0:0:1.5" 
                AccelerationRatio="0.10" DecelerationRatio="0.25" 
                Storyboard.TargetProperty="(Canvas.Width)" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
  </Style.Triggers>
</Style>

Комментарии

Trigger Объекты имеют Settersсвойства , EnterActionsи ExitActions , которые применяют изменения или действия на основе состояния определенных свойств, в то время как EventTrigger объекты запускают набор при возникновении указанного Actions перенаправленного события. Например, можно использовать EventTrigger для запуска набора анимаций, когда указатель мыши находится на определенном элементе управления пользовательского интерфейса. В отличие от Trigger, EventTrigger не имеет понятия завершения состояния, поэтому действие не будет отменено, когда условие, вызвавщее событие, больше не будет истинным.

Обратите внимание, что при использовании EventTriggerнеобходимо выбрать события, которые не влияют на поведение элемента управления. Такие элементы управления, как Button или TextBox выполняют определенные действия с событиями ввода пользователем, такими как щелчки мышью и события клавиатуры. Например, если вы настраиваете кнопку и пытаетесь задать MouseDown событие в качестве RoutedEventEventTriggerобъекта , никогда не применяется, EventTrigger так как событие сначала обрабатывается кнопкой. Вместо этого можно использовать PreviewMouseDown событие или другое событие.

При использовании привязки данных, если вы используете TargetUpdated событие, необходимо задать NotifyOnTargetUpdated для объекта значение Binding , true чтобы событие было создано.

Добавление дочернего TriggerAction элемента к объекту EventTrigger неявно добавляет его в TriggerActionCollection для EventTrigger объекта .

Конструкторы

EventTrigger()

Инициализирует новый экземпляр класса EventTrigger.

EventTrigger(RoutedEvent)

Инициализирует новый экземпляр класса EventTrigger указанным событием.

Свойства

Actions

Получает коллекцию действий, которые применяются при возникновении события.

DependencyObjectType

Возвращает объект DependencyObjectType , который заключает в оболочку тип среды CLR этого экземпляра.

(Унаследовано от DependencyObject)
Dispatcher

Возвращает объект Dispatcher, с которым связан этот объект DispatcherObject.

(Унаследовано от DispatcherObject)
EnterActions

Получает коллекцию объектов TriggerAction, применяемую, когда срабатывает триггер. Это свойство не применяется к классу EventTrigger.

(Унаследовано от TriggerBase)
ExitActions

Получает коллекцию объектов TriggerAction, применяемую, когда объект триггера становится неактивным. Это свойство не применяется к классу EventTrigger.

(Унаследовано от TriggerBase)
IsSealed

Получает значение, указывающее, является ли этот экземпляр в данный момент запечатанным (доступным только для чтения).

(Унаследовано от DependencyObject)
RoutedEvent

Возвращает или задает параметр RoutedEvent, который активирует этот триггер.

SourceName

Получает или задает имя объекта с событием, которое активирует данный триггер. Используется только триггерами элементов или шаблонов.

Методы

AddChild(Object)

Добавляет указанный объект в коллекцию Actions текущего триггера событий.

AddText(String)

Данный метод не поддерживается и приводит к исключению.

CheckAccess()

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)
ClearValue(DependencyProperty)

Очищает локальное значение свойства. Очищаемое свойство задается идентификатором DependencyProperty.

(Унаследовано от DependencyObject)
ClearValue(DependencyPropertyKey)

Очищает локальное значение доступного только для чтения свойства. Очищаемое свойство задается ключом DependencyPropertyKey.

(Унаследовано от DependencyObject)
CoerceValue(DependencyProperty)

Приводит значение указанного свойства зависимостей. Это осуществляется путем вызова какой-либо функции CoerceValueCallback, указанной в метаданных свойства зависимостей, которое существует в вызывающем объекте DependencyObject.

(Унаследовано от DependencyObject)
Equals(Object)

Определяет, является ли указанный DependencyObject эквивалентом текущего DependencyObject.

(Унаследовано от DependencyObject)
GetHashCode()

Возвращает хэш-код для данного объекта DependencyObject.

(Унаследовано от DependencyObject)
GetLocalValueEnumerator()

Создает специализированный перечислитель для определения свойств зависимостей, которые локально установили значения для данного DependencyObject.

(Унаследовано от DependencyObject)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetValue(DependencyProperty)

Возвращает текущее действующее значение свойства зависимостей в этом экземпляре DependencyObject.

(Унаследовано от DependencyObject)
InvalidateProperty(DependencyProperty)

Повторно вычисляет действующее значение для указанного свойства зависимостей.

(Унаследовано от DependencyObject)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Вызывается каждый раз, когда обновляется действительное значение любого свойства зависимостей для данного DependencyObject. Конкретное измененное свойство зависимостей сообщается в данных события.

(Унаследовано от DependencyObject)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если таковое существует.

(Унаследовано от DependencyObject)
SetCurrentValue(DependencyProperty, Object)

Задает значение свойства зависимостей, не меняя источник значения.

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей, указанного идентификатором этого свойства.

(Унаследовано от DependencyObject)
SetValue(DependencyPropertyKey, Object)

Задает локальное значение свойства зависимости только для чтения, определяемое идентификатором DependencyPropertyKey свойства зависимостей.

(Унаследовано от DependencyObject)
ShouldSerializeActions()

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

ShouldSerializeProperty(DependencyProperty)

Возвращает значение, которое указывает, следует ли процессам сериализации выполнять сериализацию значения для предоставленного свойства зависимостей.

(Унаследовано от DependencyObject)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
VerifyAccess()

Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)

Явные реализации интерфейса

IAddChild.AddChild(Object)

Добавляет дочерний объект.

IAddChild.AddText(String)

Добавляет к объекту текстовое содержимое узла.

Применяется к

См. также раздел