ContentElement.ReleaseMouseCapture 方法

定义

如果此元素具有鼠标捕获,则释放该捕获。Releases the mouse capture, if this element held the capture.

public:
 virtual void ReleaseMouseCapture();
public void ReleaseMouseCapture ();
abstract member ReleaseMouseCapture : unit -> unit
override this.ReleaseMouseCapture : unit -> unit
Public Sub ReleaseMouseCapture ()

实现

示例

下面的处理程序根据鼠标按钮状态捕获或释放鼠标捕获。The following handler captures or releases mouse capture according to mouse button states. 该示例演示如何将捕获的鼠标移动用于其他目的,而不是将鼠标指针移动到中 UIUIThe example shows how to use captured mouse movement for alternative purposes other than moving the mouse pointer in the UIUI.

private void MouseDownHandler(object sender, MouseButtonEventArgs e)
{
    ContentElement el = (ContentElement)sender;
    if (!el.IsEnabled) return;
    e.Handled = true;
    el.CaptureMouse();
    _point = e.MouseDevice.GetPosition(el); 
}

private void MouseUpHandler(object sender, MouseButtonEventArgs e)
{
    ContentElement el = (ContentElement)sender;
    if (!el.IsEnabled) return;
    e.Handled = true;
    el.ReleaseMouseCapture();
}
Private Sub MouseDownHandler(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
    Dim el As ContentElement = CType(sender, ContentElement)
    If Not el.IsEnabled Then
        Return
    End If
    e.Handled = True
    el.CaptureMouse()
    _point = e.MouseDevice.GetPosition(el)
End Sub

Private Sub MouseUpHandler(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
    Dim el As ContentElement = CType(sender, ContentElement)
    If Not el.IsEnabled Then
        Return
    End If
    e.Handled = True
    el.ReleaseMouseCapture()
End Sub

注解

如果此元素不包含捕获,则调用此方法将不起作用。If this element did not hold the capture, calling this method has no effect. 在调用此方法之前,请考虑检查的值 IsMouseCapturedConsider checking the value of IsMouseCaptured before you call this method.

适用于

另请参阅