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

Definición

Intenta forzar la captura del mouse en este elemento.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

Devoluciones

Es true si se captura el mouse correctamente; de lo contrario, es false.true if the mouse is successfully captured; otherwise, false.

Implementaciones

Ejemplos

El ejemplo siguiente captura el mouse o libera la captura, en función de si el elemento ya ha capturado el mouse.The following example captures the mouse or releases capture, based on whether the mouse is already captured by the element. Tenga en cuenta que este ejemplo convierte el elemento de destino de captura probable para la IInputElement interfaz y, por tanto, una llamada a inicialmente el IInputElement.CaptureMouse método.Note that this example casts the prospective capture target element to the IInputElement interface, and is thus initially calling the IInputElement.CaptureMouse method. Conversión a IInputElement es una técnica que es útil si no está seguro de si el elemento que desea que captura el mouse está un UIElement o ContentElement.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. La conversión de tipos de interfaz y el método de interfaz llamar a, a continuación, llama a la implementación de CaptureMouse específica del tipo adecuada internamente sin necesidad de una versión de prueba que se convierte en una UIElement o ContentElement.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. Esta misma técnica de conversión funciona con otros miembros que IInputElement define, por ejemplo muchos de los eventos relacionados con la entrada así como otros métodos de entrada.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

Comentarios

Para ser capturado, un elemento debe estar habilitado.To be captured, an element must be enabled. Compruebe si IsEnabled es true antes de llamar a CaptureMouse.Check whether IsEnabled is true before you call CaptureMouse.

Si una llamada a CaptureMouse devuelve true, a continuación, IsMouseCaptured también es true.If calling CaptureMouse returns true, then IsMouseCaptured is also true.

Si una llamada a CaptureMouse devuelve true, el GotMouseCapture y IsMouseCapturedChanged se provocan eventos, con RoutedEventArgs.Source en el evento informa de los datos como el elemento donde el CaptureMouse se llama al método.If 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. Si se fuerza la captura, puede interferir con las capturas existentes - especialmente con las capturas que se relacionan con arrastrar y colocar con el mouse.If you force capture, you might interfere with existing captures - especially with captures that relate to drag-and-drop with the mouse.

Para borrar la captura del mouse de todos los elementos, llame a Mouse.Capture con el element parámetro proporcionado como null.To clear mouse capture from all elements, call Mouse.Capture with the element parameter provided as null.

Se aplica a

Consulte también: