UIElement.OnMouseUp(MouseButtonEventArgs) 方法

定義

當未處理的 MouseUp 路由事件到達其路由中衍生自此類別的項目時叫用。 實作這個方法可為此事件加入類別處理。

protected:
 virtual void OnMouseUp(System::Windows::Input::MouseButtonEventArgs ^ e);
protected virtual void OnMouseUp (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnMouseUp : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnMouseUp : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Overridable Sub OnMouseUp (e As MouseButtonEventArgs)

參數

e
MouseButtonEventArgs

包含事件資料的 MouseButtonEventArgs。 事件資料會報告滑鼠按鈕已釋放。

備註

滑鼠按鍵動作也會由專用的輸入管理員處理。 依賴滑鼠按鍵動作的其他程式設計功能,例如輸入和命令系結,可能會在將動作公開為一般滑鼠按鍵動作之前,先叫用動作的處理常式。 如果這些輸入系統功能將 Mouse.MouseUp 事件標示為已處理, OnMouseUp 則不會叫用。

如果您使用這個類別處理常式將事件標示為已處理,則可能會影響下列事件: MouseLeftButtonUpMouseRightButtonUp 。 收到 時,這些事件可能會在接收專案上 Mouse.MouseUp 引發。

如果您將此事件標示為在類別處理中處理,則仍會引發子事件;不過,它們會在事件資料中傳遞已處理的狀態。 如果在類別處理中處理事件,除非您明確使用 搭配 handledEventsTootrue 來附加處理常式,否則不會叫用 AddHandler(RoutedEvent, Delegate, Boolean) 子事件的實例處理常式。 除非已向 簽章註冊這些類別處理常式, RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) 否則不會叫用 handledEventsTootrue 類別處理常式。 藉由處理 OnMouseUp ,表示您的類別處理會考慮所有可能的滑鼠按鍵向上動作。 此行為可能不必要;因此,當您使用此虛擬方法將事件標示為已處理時,請小心。

每個按鈕特定的直接事件也有虛擬 On* 方法;請考慮覆寫這些按鈕特定的類別處理常式是否更適合。

這個方法沒有預設實作。 由於繼承中的中繼類別可能會實作這個方法,因此建議您在實作中呼叫基底實作。

此方法的用途類似于 Common Language Runtime (CLR) 事件模式 On* 方法:此方法提供方法,藉由建立類別處理常式而非實例處理常式,來處理衍生類別的相符事件。 在此情況下,比對事件是路由事件。 On* 方法的實作模式與路由事件的實作模式不同,因為路由事件可由子項目引發,這不一定是將叫用處理程式的專案。 因此,您的實作必須檢查事件資料的來源屬性。 在大部分情況下,它不應該嘗試重新建立事件。

藉由覆寫這個方法,或藉由向 RegisterClassHandler 註冊類別處理常式,衍生類別 UIElement 可以在事件路由收到事件時呼叫私用類別處理常式方法。 其中一個適合類別處理的案例是操作事件資料,並將路由事件標示為已處理。

適用於