共用方式為


UIElement3D.AddHandler 方法

定義

加入所指定路由事件的路由事件處理常式,會將此處理常式加入目前項目的處理常式集合中。

多載

AddHandler(RoutedEvent, Delegate)

加入所指定路由事件的路由事件處理常式,會將此處理常式加入目前項目的處理常式集合中。

AddHandler(RoutedEvent, Delegate, Boolean)

加入所指定路由事件的路由事件處理常式,會將此處理常式加入目前項目的處理常式集合中。 將 handledEventsToo 指定為 true,為已標示為由事件路由上另一個項目處理的事件叫用提供的處理常式。

AddHandler(RoutedEvent, Delegate)

加入所指定路由事件的路由事件處理常式,會將此處理常式加入目前項目的處理常式集合中。

public:
 virtual void AddHandler(System::Windows::RoutedEvent ^ routedEvent, Delegate ^ handler);
public void AddHandler (System.Windows.RoutedEvent routedEvent, Delegate handler);
abstract member AddHandler : System.Windows.RoutedEvent * Delegate -> unit
override this.AddHandler : System.Windows.RoutedEvent * Delegate -> unit
Public Sub AddHandler (routedEvent As RoutedEvent, handler As Delegate)

參數

routedEvent
RoutedEvent

要處理的路由事件識別項。

handler
Delegate

處理常式實作的參考。

實作

備註

您可以多次為相同的事件新增相同的處理程式,而不會引發例外狀況。 不過,在處理事件時,會實際叫用處理程式多次。 因此,請考慮此行為在處理程序實作中應該考慮的副作用。

您通常會使用這個方法,為自定義路由事件的 Microsoft .NET 事件存取模式提供 “add” 存取子的實作。

適用於

AddHandler(RoutedEvent, Delegate, Boolean)

加入所指定路由事件的路由事件處理常式,會將此處理常式加入目前項目的處理常式集合中。 將 handledEventsToo 指定為 true,為已標示為由事件路由上另一個項目處理的事件叫用提供的處理常式。

public:
 void AddHandler(System::Windows::RoutedEvent ^ routedEvent, Delegate ^ handler, bool handledEventsToo);
public void AddHandler (System.Windows.RoutedEvent routedEvent, Delegate handler, bool handledEventsToo);
member this.AddHandler : System.Windows.RoutedEvent * Delegate * bool -> unit
Public Sub AddHandler (routedEvent As RoutedEvent, handler As Delegate, handledEventsToo As Boolean)

參數

routedEvent
RoutedEvent

要處理的路由事件識別項。

handler
Delegate

處理常式實作的參考。

handledEventsToo
Boolean

true 表示註冊處理常式,以便即使路由事件在其事件資料中標記為已處理,仍會叫用該處理常式。false 表示以預設條件註冊處理常式,也就是如果路由事件已經標記為已處理,則不會叫用該處理常式。

預設為 false

請勿定期要求重新處理路由事件。

備註

以實用的方式處理低階輸入事件是複雜的工作。 許多控件會實作特定事件標示為已處理的行為,並由另一個更直覺的事件取代。 一般而言,如果有一些設計目的,控件只會將平臺輸入事件標示為已處理。 在某些情況下,這些設計意圖可能不是您特定處理輸入事件所需的目的。 如果是適當地向 註冊處理程序的handledEventsTootrue這些案例, 但您不應該定期這麼做。 叫用處理程式以回應所有事件,即使已處理,也會使您自己的應用程式事件處理邏輯複雜。 如果處理程式邏輯很大,您可能會看到效能降低。 針對開發程式期間已探索到的特定控件處理您仍想要處理的應用程式邏輯的事件,您應該保留附加處理程式的處理程式。

避免特定事件控件組合的類別處理行為的另一種技巧是使用該事件的預覽替代方法。 例如,如果 MouseLeftButtonDown 標示為由類別處理處理處理,您可以改為新增 處理程式 PreviewMouseLeftButtonDown

您可以多次為相同的事件新增相同的處理程式,而不會引發例外狀況。 不過,在處理事件時,會實際叫用處理程式多次。 因此,請考慮此行為在處理程序實作中應該考慮的副作用。

您通常會使用這個方法,為自定義路由事件的 Microsoft .NET 事件存取模式提供 “add” 存取子的實作。

適用於