EventTrigger Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет триггер, который применяет набор действий (раскадровки анимации) в ответ на событие. Не часто используется. См. заметки.
public ref class EventTrigger sealed : TriggerBase
/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="Actions")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class EventTrigger final : TriggerBase
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="Actions")]
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class EventTrigger : TriggerBase
Public NotInheritable Class EventTrigger
Inherits TriggerBase
- Наследование
- Атрибуты
Примеры
В этом примере XAML показана базовая структура использования FrameworkElement.Triggers с поведением триггера По умолчанию FrameworkElement.Loaded для запуска раскадровки анимации. В этом коде XAML показаны элементы контейнера EventTrigger и BeginStoryboard в правильной связи с каждым из них с использованием синтаксиса свойств содержимого XAML и пропущенных ненужных тегов элементов свойств.
<Canvas Width="200" Height="200" x:Name="animatedcanvas" Background="Red">
<Canvas.Triggers>
<EventTrigger>
<BeginStoryboard>
<Storyboard x:Name="ColorStoryboard">
<!-- Animate the background of the canvas to green over 4 seconds. -->
<ColorAnimation Storyboard.TargetName="animatedcanvas"
Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)"
To="Green" Duration="0:0:4"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Canvas.Triggers>
</Canvas>
Комментарии
Триггеры, EventTrigger, Actions и BeginStoryboard обычно не используются. Эти API в основном существуют для обеспечения совместимости в XAML, который изначально использовался для Microsoft Silverlight. В большинстве сценариев, где триггеры событий использовались ранее, выполните одно из следующих действий:
- Используйте встроенные анимации из библиотеки анимаций. См . раздел Анимация в XAML.
- Для событий в шаблонах элементов управления используйте визуальные состояния и VisualStateManager. См. раздел Шаблоны элементов управления XAML.
- Для анимации пользовательского интерфейса для конкретного приложения определите обработчик Loaded на странице. Этот обработчик может ссылаться на раскадровку , определенную в ресурсах на уровне страницы, и вызывать метод Begin в этой storyboard. См. раздел Раскадровка анимации.
Если вы решите использовать триггеры, в среда выполнения Windows XAML поведение по умолчанию для триггеров событий и единственным событием, которое можно использовать для вызова EventTrigger, является FrameworkElement.Loaded. Так как это поведение по умолчанию и только включено, не устанавливайте атрибут RoutedEvent . Просто используйте XAML <EventTrigger>
. Если значение RoutedEvent задано явно (не рекомендуется), единственный код XAML, который работает, — .<EventTrigger RoutedEvent="FrameworkElement.Loaded">
Неквалифицированный "Loaded" или любое другое значение вызывает исключение синтаксического анализа. Дополнительные сведения см. в разделе Триггеры.
Конструкторы
EventTrigger() |
Инициализирует новый экземпляр класса EventTrigger . |
Свойства
Actions |
Возвращает коллекцию объектов BeginStoryboard , которые поддерживает этот объект EventTrigger . |
Dispatcher |
Всегда возвращается |
DispatcherQueue |
Возвращает объект , |
RoutedEvent |
Возвращает или задает имя события, инициирующего триггер. Как правило, не задано, см. раздел Примечания. |
Методы
ClearValue(DependencyProperty) |
Очищает локальное значение свойства зависимостей. (Унаследовано от DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Возвращает любое базовое значение, установленное для свойства зависимостей, которое применяется в случаях, когда анимация не активна. (Унаследовано от DependencyObject) |
GetValue(DependencyProperty) |
Возвращает текущее действующее значение свойства зависимостей из DependencyObject. (Унаследовано от DependencyObject) |
ReadLocalValue(DependencyProperty) |
Возвращает локальное значение свойства зависимостей, если задано локальное значение. (Унаследовано от DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Регистрирует функцию уведомления для прослушивания изменений определенной DependencyProperty в этом экземпляре DependencyObject . (Унаследовано от DependencyObject) |
SetValue(DependencyProperty, Object) |
Задает локальное значение свойства зависимостей для Объекта DependencyObject. (Унаследовано от DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова метода RegisterPropertyChangedCallback. (Унаследовано от DependencyObject) |