相关文章推荐
帅气的松球  ·  c++ ...·  1 月前    · 
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
EventTrigger

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

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

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

TriggerAction 將子系新增至 EventTrigger 物件,會隱含地將它新增至 TriggerActionCollection 物件的 EventTrigger

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

(繼承來源 DependencyObject )