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.Triggers 搭配其預設 FrameworkElement.Loaded 觸發行為來執行分鏡動畫的基本結構。 此 XAML 會以 XAML 內容屬性語法及省略不必要的屬性元素標籤,正確地顯示 EventTrigger 和 BeginStoryboard 容器元素的關聯。
<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>
備註
觸發器、事件觸發器、動作和開始故事板並不常用。 這些 API 主要是為了相容於 XAML,XAML 最初用於 Microsoft Silverlight。 對於大多數之前使用過事件觸發器的情境,請採取以下其中一項:
- 使用動畫庫內建的動畫。 請參見 XAML 中的動畫。
- 控制範本中的事件可使用 Visual States 與 VisualStateManager。 請參閱 XAML 控制範本。
- 針對應用程式專屬的 UI 動畫,請在頁面上定義一個 已載入 的處理器。 這個處理器可以參考頁面層級資源中定義的故事板,並在該故事板上呼叫 Begin 方法。 詳見 分鏡動畫。
如果你選擇使用 Triggers,在 Windows 執行階段 XAML 中,事件觸發器的預設行為,也是唯一可用來呼叫 EventTrigger 的事件是 FrameworkElement.Loaded。 因為那是預設且唯一啟用的行為,所以不要設定 RoutedEvent 屬性。 直接用 XAML <EventTrigger>就好。 如果你明確設定 RoutedEvent (不建議),唯一能用的 XAML 就是 <EventTrigger RoutedEvent="FrameworkElement.Loaded">。 未加限定的「Loaded」或其他值會拋出解析例外。 更多資訊請參見 「觸發點」。
建構函式
| 名稱 | Description |
|---|---|
| EventTrigger() |
初始化 EventTrigger 類別的新實例。 |
屬性
| 名稱 | Description |
|---|---|
| Actions |
取得此事件觸發器維護的 BeginStoryboard 物件集合。 |
| Dispatcher |
它總是在 Windows 應用程式 SDK 應用程式中回傳 |
| DispatcherQueue |
得到 |
| RoutedEvent |
取得或設定觸發事件的名稱。 不常設定,詳見備註。 |
方法
| 名稱 | Description |
|---|---|
| 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) |