UIElement.ReleaseMouseCapture Method ()


Releases the mouse capture, if this element held the capture.

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

public void ReleaseMouseCapture()

If this element did not hold the capture, calling this method has no effect. Consider checking the value of IsMouseCaptured before you call this method.

The following example is the parallel to the example given for CaptureMouse: it handles mouse button up to release mouse capture and re-enable moving the mouse.

private void MouseDownHandler(object sender, MouseButtonEventArgs e)
    if (!Enabled) return;
    e.Handled = true;

    if (Keyboard.IsKeyDown(Key.F1) == true)

    UIElement el = (UIElement)sender;
    _point = e.MouseDevice.GetPosition(el);
    // Initialize the center of rotation to the lookatpoint
    if (!_centered)
        ProjectionCamera camera = (ProjectionCamera)_slaves[0].Camera;
        _center = camera.LookDirection;
        _centered = true;

    _scaling = (e.MiddleButton == MouseButtonState.Pressed);

    if (Keyboard.IsKeyDown(Key.Space) == false)
        _rotating = true;
        _rotating = false;


private void MouseUpHandler(object sender, MouseButtonEventArgs e)
    if (!_enabled) return;
    e.Handled = true;

    // Stuff the current initial + delta into initial so when we next move we
    // start at the right place.
    if (_rotating == true)
        _rotation = _rotationDelta * _rotation;
        _translate += _translateDelta;
        _translateDelta.X = 0;
        _translateDelta.Y = 0;

    //_scale = _scaleDelta*_scale;
    UIElement el = (UIElement)sender;

.NET Framework
Available since 3.0
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top