EventTrigger 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示套用一組動作的觸發程式, (動畫腳本) 回應事件。 不常使用。 請參閱<備註>。
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.Loaded觸發程式列為使用FrameworkElement.Triggers的基本結構,以執行分鏡動畫。 這個 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 主要存在於原本用於 Microsoft Silverlight 的 XAML 中相容性。 對於先前使用事件觸發程式的大部分案例,請執行下列其中一項:
- 從動畫庫使用內建動畫。 請參閱 XAML 中的動畫。
- 針對控制項範本中的事件,請使用視覺狀態和 VisualStateManager。 請參閱 XAML 控制項範本。
- 針對應用程式特定的 UI 動畫,請在頁面上定義 已載入 的處理常式。 此處理程式可以參考分頁層級資源中定義的分鏡腳本,並在該分鏡腳本上呼叫Begin方法。 請參閱 分鏡腳本動畫。
如果您選擇使用觸發程式,請在 Windows 執行階段 XAML 中,事件觸發程式的預設行為,以及可用來叫用 EventTrigger 的唯一事件是FrameworkElement.Loaded。 因為這是預設和唯一啟用的行為,所以請勿設定 RoutedEvent 屬性。 只要使用 XAML <EventTrigger>
。 如果您明確設定 RoutedEvent (不建議) ,唯一運作的 XAML 是 <EventTrigger RoutedEvent="FrameworkElement.Loaded">
。 不合格的「載入」或任何其他值都會擲回剖析例外狀況。 如需詳細資訊,請參閱 觸發程式。
建構函式
EventTrigger() |
初始化 EventTrigger 類別的新實例。 |
屬性
Actions |
取得這個EventTrigger所維護之 BeginStoryboard物件的集合。 |
Dispatcher |
一律會在 |
DispatcherQueue |
|
RoutedEvent |
取得或設定起始觸發程式之事件的名稱。 不常設定,請參閱。 |
方法
ClearValue(DependencyProperty) |
清除相依性屬性的本機值。 (繼承來源 DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
傳回針對相依性屬性所建立的任何基底值,如果動畫未使用中,則會套用。 (繼承來源 DependencyObject) |
GetValue(DependencyProperty) |
從 DependencyObject傳回相依性屬性的目前有效值。 (繼承來源 DependencyObject) |
ReadLocalValue(DependencyProperty) |
如果已設定本機值,則傳回相依性屬性的本機值。 (繼承來源 DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
註冊通知函式,以接聽此DependencyObject實例上特定DependencyProperty的變更。 (繼承來源 DependencyObject) |
SetValue(DependencyProperty, Object) |
在 DependencyObject上設定相依性屬性的本機值。 (繼承來源 DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
取消先前透過呼叫 RegisterPropertyChangedCallback註冊的變更通知。 (繼承來源 DependencyObject) |