EventTrigger 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表套用一組動作以回應事件的觸發程序。
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 的 和 MouseLeave 事件 FrameworkElement。 在這裡範例中,會將 StyleTargetType 設定為 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物件具有、 和 屬性,這些屬性會根據特定屬性的狀態套用變更或動作,而EventTrigger物件會在發生指定的路由事件時啟動一組 Actions 。ExitActionsEnterActionsSetters 例如,當滑鼠指標位於特定使用者介面上方時,您可能會想要使用 來 EventTrigger 啟動一組動畫, (UI) 控件。 不同於 Trigger, EventTrigger 沒有終止狀態的概念,因此一旦引發事件的條件不再成立,就不會復原動作。
請注意,使用 EventTrigger時,您必須選擇不會干擾控件固有行為的事件。 控件,例如 Button 或 TextBox 對使用者輸入事件執行特定動作,例如滑鼠點選和鍵盤事件。 例如,如果您要設定按鈕的樣式,並嘗試將事件設定 MouseDown 為 RoutedEvent 的 EventTrigger,則永遠不會套用 , EventTrigger 因為事件會先由按鈕處理。 相反地,您可以使用 PreviewMouseDown 事件或不同的事件。
使用數據系結時,如果您使用 TargetUpdated 事件,您必須將 物件的true
值Binding設定NotifyOnTargetUpdated為 ,才能引發事件。
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 |
以啟動這個觸發程序的事件取得或設定物件的名稱。 只有項目觸發程序或範本觸發程序會使用它。 |
方法
明確介面實作
IAddChild.AddChild(Object) |
加入子物件。 |
IAddChild.AddText(String) |
將節點的文字內容加入物件中。 |