ContentElement.CaptureMouse ContentElement.CaptureMouse ContentElement.CaptureMouse ContentElement.CaptureMouse Method

Definition

Versucht, die Mausaufzeichnung für dieses Element zu erzwingen.Attempts to force capture of the mouse to this element.

public:
 virtual bool CaptureMouse();
public bool CaptureMouse ();
abstract member CaptureMouse : unit -> bool
override this.CaptureMouse : unit -> bool
Public Function CaptureMouse () As Boolean

Gibt zurück

true, wenn die Maus erfolgreich aufgezeichnet wird, andernfalls false.true if the mouse is successfully captured; otherwise, false.

Implementiert

Beispiele

Im folgenden Beispiel wird die Maus-oder releaseerfassung erfasst, je nachdem, ob die Maus bereits vom-Element aufgezeichnet wird.The following example captures the mouse or releases capture, based on whether the mouse is already captured by the element. Beachten Sie, dass in diesem Beispiel das potenzielle Erfassungs Ziel IInputElement Element in die-Schnittstelle umgewandelt wird IInputElement.CaptureMouse und daher die-Methode anfänglich aufgerufen wird.Note that this example casts the prospective capture target element to the IInputElement interface, and is thus initially calling the IInputElement.CaptureMouse method. Das umwandeln IInputElement in ist eine Technik, die nützlich ist, wenn Sie nicht sicher sind, ob das Element, das die Maus UIElement erfassen soll ContentElement, ein oder ein ist.Casting to IInputElement is a technique that is useful if you are unsure whether the element you want to have capture the mouse is a UIElement or a ContentElement. Die-Schnittstelle und der Schnittstellen Methodenaufruf rufen dann die entsprechende typspezifische CaptureMouse-Implementierung intern auf, ohne dass eine Test UIElement Version ContentElementin oder umgewandelt werden muss.The interface cast and the interface method call then calls the appropriate type-specific CaptureMouse implementation internally without requiring a trial cast to either UIElement or ContentElement. Dieselbe Umwandlungs Technik funktioniert auch für andere Member IInputElement , die definieren, z.b. viele der Eingabe bezogenen Ereignisse und andere Eingabe bezogene Methoden.This same casting technique works for other members that IInputElement defines, for instance many of the input-related events, and other input-related methods.

private void CaptureMouseCommandExecuted(object sender, ExecutedRoutedEventArgs e)
{
  MessageBox.Show("Mouse Command");
  IInputElement target = Mouse.DirectlyOver;

  target = target as Control;
  if (target != null)
  {
    if (!target.IsMouseCaptured)
    {
      Mouse.Capture(target);
    } else {
      Mouse.Capture(null);
    }
  }
}
Private Sub CaptureMouseCommandExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
  MessageBox.Show("Mouse Command")
  Dim target As IInputElement = Mouse.DirectlyOver

  target = TryCast(target, Control)
  If target IsNot Nothing Then
    If Not target.IsMouseCaptured Then
      Mouse.Capture(target)
    Else
      Mouse.Capture(Nothing)
    End If
  End If
End Sub

Hinweise

Ein Element muss aktiviert sein, damit es aufgezeichnet werden kann.To be captured, an element must be enabled. Überprüfen IsEnabled Sie true , ob vor CaptureMouseaufgerufen wird.Check whether IsEnabled is true before you call CaptureMouse.

Wenn beim CaptureMouse aufrufen truevon zurück IsMouseCaptured gegeben wird true, dann ist ebenfalls.If calling CaptureMouse returns true, then IsMouseCaptured is also true.

Wenn der CaptureMouse Aufruf truevon zurückgibt GotMouseCapture , werden das-Ereignis und RoutedEventArgs.Source das-Ereignis ausgelöst, wobei in den Ereignisdaten CaptureMouse als das-Element gemeldet wird, in dem die- IsMouseCapturedChanged Methode aufgerufenIf calling CaptureMouse returns true, then the GotMouseCapture and IsMouseCapturedChanged events are raised, with RoutedEventArgs.Source in the event data reported as the element where the CaptureMouse method is called. Wenn Sie die Erfassung erzwingen, können Sie die vorhandenen Erfassungen stören, insbesondere bei Erfassungen, die sich auf Drag & Drop mit der Maus beziehen.If you force capture, you might interfere with existing captures - especially with captures that relate to drag-and-drop with the mouse.

Um die Maus Aufzeichnung von allen Elementen zu löschen Mouse.Capture , müssen element Sie mit dem nullParameter aufrufen, der als angegeben wird.To clear mouse capture from all elements, call Mouse.Capture with the element parameter provided as null.

Gilt für:

Siehe auch