Leer en inglés

Compartir a través de


UIElement.ReleaseMouseCapture Método

Definición

Libera la captura del mouse si este elemento la tiene.

C#
public void ReleaseMouseCapture();

Implementaciones

Ejemplos

El ejemplo siguiente es el paralelo al ejemplo especificado para CaptureMouse: controla el botón del mouse hasta liberar la captura del mouse y vuelve a habilitar el movimiento del mouse.

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

    if (Keyboard.IsKeyDown(Key.F1))
    {
        Reset();
        return;
    }

    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))
        _rotating = true;
    else
        _rotating = false;

    el.CaptureMouse();
}

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)
    {
        _rotation = _rotationDelta * _rotation;
    }
    else
    {
        _translate += _translateDelta;
        _translateDelta.X = 0;
        _translateDelta.Y = 0;
    }

    //_scale = _scaleDelta*_scale;
    UIElement el = (UIElement)sender;
    el.ReleaseMouseCapture();
}

Comentarios

Si este elemento no contiene la captura, llamar a este método no tiene ningún efecto. Considere la posibilidad de comprobar el valor de antes de IsMouseCaptured llamar a este método.

Se aplica a

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Consulte también