EventTrigger 類別

定義

代表套用一組動作以回應事件的觸發程序。

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 。 在此範例中, 的 Style 設定為 TargetTypeRectangle 。 因此,不需要使用類別名稱來限定 MouseEnterMouseLeave 事件名稱。

<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 物件具有 、 SettersEnterActions 、 和 ExitActions 屬性,這些屬性會根據特定屬性的狀態套用變更或動作,而 EventTrigger 物件會在發生指定的路由事件時啟動一組 Actions 。 例如,當滑鼠指標位於特定使用者介面上方時,您可能想要使用 EventTrigger 來啟動一組動畫, (UI) 控制項。 不同于 TriggerEventTrigger 沒有終止狀態的概念,因此一旦引發事件的條件不再成立,就不會復原動作。

請注意,使用 EventTrigger 時,您必須選擇不會干擾控制項固有行為的事件。 控制項,例如 ButtonTextBox 對使用者輸入事件執行特定動作,例如滑鼠點選和鍵盤事件。 例如,如果您要設定按鈕的樣式,並嘗試將 MouseDown 事件設定為 RoutedEventEventTrigger ,則永遠不會套用 , EventTrigger 因為事件會先由按鈕處理。 相反地 PreviewMouseDown ,您可以使用 事件或不同的事件。

使用資料系結時,如果您使用 TargetUpdated 事件,則必須將 物件的值 Binding 設定 NotifyOnTargetUpdatedtrue ,才能引發事件。

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

以啟動這個觸發程序的事件取得或設定物件的名稱。 只有項目觸發程序或範本觸發程序會使用它。

方法

AddChild(Object)

將指定的物件加入至目前事件觸發程序的 Actions 集合。

AddText(String)

這個方法不受支援,而且會導致例外狀況。

CheckAccess()

判斷呼叫的執行是否可以存取這個 DispatcherObject

(繼承來源 DispatcherObject)
ClearValue(DependencyProperty)

清除屬性的區域數值。 要清除的屬性是由 DependencyProperty 識別項所指定。

(繼承來源 DependencyObject)
ClearValue(DependencyPropertyKey)

清除唯讀屬性的區域數值。 要清除的屬性是由 DependencyPropertyKey 所指定。

(繼承來源 DependencyObject)
CoerceValue(DependencyProperty)

強制轉型所指定相依性屬性的值。 完成方式是叫用存在於呼叫 DependencyObject 之相依性屬性的屬性中繼資料中所指定的任何 CoerceValueCallback 函式。

(繼承來源 DependencyObject)
Equals(Object)

判斷提供的 DependencyObject 和目前的 DependencyObject 是否相等。

(繼承來源 DependencyObject)
GetHashCode()

取得這個 DependencyObject 的雜湊碼。

(繼承來源 DependencyObject)
GetLocalValueEnumerator()

建立特定的列舉值,以判斷哪些相依性屬性在此 DependencyObject 上具有本機設定的值。

(繼承來源 DependencyObject)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
GetValue(DependencyProperty)

傳回 DependencyObject 的這個執行個體上之相依性屬性的目前有效值。

(繼承來源 DependencyObject)
InvalidateProperty(DependencyProperty)

重新評估指定相依性屬性的有效值。

(繼承來源 DependencyObject)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

每當這個 DependencyObject 上任何相依性屬性的有效值已更新時叫用。 已變更的特定相依性屬性會在事件資料中報告。

(繼承來源 DependencyObject)
ReadLocalValue(DependencyProperty)

傳回相依性屬性的區域值 (如果存在)。

(繼承來源 DependencyObject)
SetCurrentValue(DependencyProperty, Object)

設定相依性屬性的值,而不需要變更其值來源。

(繼承來源 DependencyObject)
SetValue(DependencyProperty, Object)

設定相依性屬性的區域值 (由相依性屬性的識別碼所指定)。

(繼承來源 DependencyObject)
SetValue(DependencyPropertyKey, Object)

設定唯讀相依性屬性的區域數值 (由相依性屬性的 DependencyPropertyKey 識別項所指定)。

(繼承來源 DependencyObject)
ShouldSerializeActions()

傳回序列化程序是否應序列化這個類別執行個體上 Actions 屬性的有效值。

ShouldSerializeProperty(DependencyProperty)

傳回值,這個值表示序列化程序是否應該序列化所提供相依性屬性的值。

(繼承來源 DependencyObject)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
VerifyAccess()

請強制執行可以存取這個 DispatcherObject 的呼叫執行緒。

(繼承來源 DispatcherObject)

明確介面實作

IAddChild.AddChild(Object)

加入子物件。

IAddChild.AddText(String)

將節點的文字內容加入物件中。

適用於

另請參閱