UIElement3D.AddHandler 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
加入所指定路由事件的路由事件處理常式,會將此處理常式加入目前項目的處理常式集合中。
多載
AddHandler(RoutedEvent, Delegate) |
加入所指定路由事件的路由事件處理常式,會將此處理常式加入目前項目的處理常式集合中。 |
AddHandler(RoutedEvent, Delegate, Boolean) |
加入所指定路由事件的路由事件處理常式,會將此處理常式加入目前項目的處理常式集合中。 將 |
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
。
請勿定期要求重新處理路由事件。
備註
以實用的方式處理低階輸入事件是複雜的工作。 許多控件會實作特定事件標示為已處理的行為,並由另一個更直覺的事件取代。 一般而言,如果有一些設計目的,控件只會將平臺輸入事件標示為已處理。 在某些情況下,這些設計意圖可能不是您特定處理輸入事件所需的目的。 如果是適當地向 註冊處理程序的handledEventsToo
true
這些案例, 但您不應該定期這麼做。 叫用處理程式以回應所有事件,即使已處理,也會使您自己的應用程式事件處理邏輯複雜。 如果處理程式邏輯很大,您可能會看到效能降低。 針對開發程式期間已探索到的特定控件處理您仍想要處理的應用程式邏輯的事件,您應該保留附加處理程式的處理程式。
避免特定事件控件組合的類別處理行為的另一種技巧是使用該事件的預覽替代方法。 例如,如果 MouseLeftButtonDown 標示為由類別處理處理處理,您可以改為新增 處理程式 PreviewMouseLeftButtonDown 。
您可以多次為相同的事件新增相同的處理程式,而不會引發例外狀況。 不過,在處理事件時,會實際叫用處理程式多次。 因此,請考慮此行為在處理程序實作中應該考慮的副作用。
您通常會使用這個方法,為自定義路由事件的 Microsoft .NET 事件存取模式提供 “add” 存取子的實作。