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

Definizione

Tenta di forzare l’acquisizione del mouse in questo 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

Restituisce

true se il mouse viene acquisito correttamente; in caso contrario, false.true if the mouse is successfully captured; otherwise, false.

Implementazioni

Esempi

Nell'esempio seguente viene acquisita l'acquisizione del mouse o dei rilasci, a seconda che il mouse sia già acquisito dall'elemento.The following example captures the mouse or releases capture, based on whether the mouse is already captured by the element. Si noti che in questo esempio viene eseguito il cast dell'elemento target IInputElement di acquisizione potenziale all'interfaccia e viene quindi IInputElement.CaptureMouse chiamato inizialmente il metodo.Note that this example casts the prospective capture target element to the IInputElement interface, and is thus initially calling the IInputElement.CaptureMouse method. Il cast IInputElement a è una tecnica utile se non si è certi che l'elemento che si desidera acquisire UIElement sia il mouse 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. Il cast dell'interfaccia e la chiamata al metodo di interfaccia chiama quindi l'implementazione di CaptureMouse specifica del tipo appropriata internamente senza che sia UIElement necessario ContentElementeseguire il cast della versione di valutazione a o.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. Questa stessa tecnica di cast funziona anche per altri IInputElement membri che definiscono, ad esempio, molti degli eventi correlati all'input e altri metodi correlati all'input.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

Commenti

Per l'acquisizione, è necessario abilitare un elemento.To be captured, an element must be enabled. Controllare se IsEnabled è true prima di chiamare CaptureMouse.Check whether IsEnabled is true before you call CaptureMouse.

Se IsMouseCaptured la CaptureMouse chiamata truea restituisce, anche trueè.If calling CaptureMouse returns true, then IsMouseCaptured is also true.

Se la CaptureMouse chiamata truea restituisce, GotMouseCapture vengono IsMouseCapturedChanged generati gli eventi e, RoutedEventArgs.Source con nei dati degli eventi segnalati come l'elemento CaptureMouse in cui viene chiamato il metodo.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. Se si impone l'acquisizione, è possibile interferire con le acquisizioni esistenti, soprattutto con le acquisizioni correlate al trascinamento della selezione con il mouse.If you force capture, you might interfere with existing captures - especially with captures that relate to drag-and-drop with the mouse.

Per cancellare il mouse capture da tutti gli elementi Mouse.Capture , chiamare element con il parametro nullfornito come.To clear mouse capture from all elements, call Mouse.Capture with the element parameter provided as null.

Si applica a

Vedi anche