EventTrigger Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет триггер, который применяет набор действий (раскадровки анимации) в ответ на событие. Не часто используется. См. заметки.
public ref class EventTrigger sealed : TriggerBase
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="Actions")]
class EventTrigger final : TriggerBase
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="Actions")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class EventTrigger final : TriggerBase
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="Actions")]
public sealed class EventTrigger : TriggerBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="Actions")]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class EventTrigger : TriggerBase
Public NotInheritable Class EventTrigger
Inherits TriggerBase
<EventTrigger>
oneOrMoreBeginStoryboards
</EventTrigger>
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Примеры
В этом примере 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. В большинстве сценариев, где триггеры событий использовались ранее, выполните одно из следующих действий:
- Используйте встроенные анимации из библиотеки анимаций. См. статью Краткое руководство. Анимация пользовательского интерфейса с помощью библиотеки анимации.
- Для событий в шаблонах элементов управления используйте визуальные состояния и VisualStateManager. Визуальные состояния см. в разделе Раскадровка анимации или Краткое руководство. Шаблоны элементов управления.
- Для анимации пользовательского интерфейса для конкретного приложения определите обработчик Loaded на странице. Этот обработчик может ссылаться на раскадровку , определенную в ресурсах на уровне страницы, и вызывать метод Begin в этой storyboard. См. раздел Раскадровка анимации.
Если вы решите использовать триггеры, в среда выполнения Windows XAML поведение по умолчанию для триггеров событий и единственным событием, которое можно использовать для вызова EventTrigger, является FrameworkElement.Loaded. Так как это поведение по умолчанию и только включено, не устанавливайте атрибут RoutedEvent . Просто используйте XAML <EventTrigger>
. Если значение RoutedEvent задано явно (не рекомендуется), единственный код XAML, который работает, — .<EventTrigger RoutedEvent="FrameworkElement.Loaded">
Неквалифицированный "Loaded" или любое другое значение вызывает исключение синтаксического анализа. Дополнительные сведения см. в разделе Триггеры.
Конструкторы
EventTrigger() |
Инициализирует новый экземпляр класса EventTrigger . |
Свойства
Actions |
Возвращает коллекцию объектов BeginStoryboard , которые поддерживает этот объект EventTrigger . |
Dispatcher |
Возвращает CoreDispatcher , с которым связан этот объект. CoreDispatcher представляет средство, которое может получить доступ к DependencyObject в потоке пользовательского интерфейса, даже если код инициируется потоком, не относящегося к пользовательскому интерфейсу. (Унаследовано от DependencyObject) |
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) |