Expand Minimize

UIElement3D.OnMouseUp Method

Invoked when an unhandled Mouse.MouseUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

Namespace:  System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)

protected internal virtual void OnMouseUp(
	MouseButtonEventArgs e
)

Parameters

e
Type: System.Windows.Input.MouseButtonEventArgs
The MouseButtonEventArgs that contains the event data. The event data reports that the mouse button was released.

Mouse button actions are also handled by a dedicated input manager. Other programming features that rely on mouse button actions, such as input and command bindings, might invoke handlers for the action before it is exposed as a general mouse button action. If these input system features mark the Mouse.MouseUp event as handled, OnMouseUp is not invoked.

If you use this class handler to mark the event as handled, you potentially impact the following events: MouseLeftButtonUp and MouseRightButtonUp. Either of these events might be raised on the receiving element when Mouse.MouseUp is received.

If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use AddHandler(RoutedEvent, Delegate, Boolean) with handledEventsToo true in order to attach handlers. Class handlers also are not invoked unless those class handlers were registered with the RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) signature with handledEventsToo true. By handling OnMouseUp, you are implying that your class handling accounted for all possible mouse button up actions. This behavior might be unwanted. Therefore, use caution when you use this virtual method to mark events as handled.

Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate.

This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases.

Either by overriding this method or by registering class handlers with RegisterClassHandler, derived classes of UIElement3D can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled.

OnMouseUp is introduced in the .NET Framework version 3.5. For more information, see .NET Framework Versions and Dependencies.

.NET Framework

Supported in: 4, 3.5 SP1, 3.0 SP1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft