ContentElement.CaptureMouse Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Tenta di forzare l'acquisizione del mouse su questo elemento.
public:
virtual bool CaptureMouse();
public bool CaptureMouse();
abstract member CaptureMouse : unit -> bool
override this.CaptureMouse : unit -> bool
Public Function CaptureMouse () As Boolean
Valori restituiti
true se il mouse viene acquisito correttamente; in caso contrario, false.
Implementazioni
Esempio
L'esempio seguente acquisisce il mouse o rilascia l'acquisizione, in base al fatto che il mouse sia già acquisito dall'elemento . Si noti che questo esempio esegue il cast dell'elemento di destinazione di acquisizione potenziale all'interfaccia IInputElement e quindi chiama inizialmente il IInputElement.CaptureMouse metodo . Il cast a IInputElement è una tecnica utile se non si è certi se l'elemento a cui si vuole acquisire il mouse è o UIElement .ContentElement Il cast dell'interfaccia e la chiamata al metodo di interfaccia chiamano internamente l'implementazione CaptureMouse specifica del tipo appropriata senza richiedere un cast di prova a UIElement o ContentElement. Questa stessa tecnica di cast funziona per altri membri che IInputElement definiscono, ad esempio molti degli eventi correlati all'input e altri metodi correlati all'input.
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 essere acquisito, è necessario abilitare un elemento. Verificare se IsEnabled è true prima di chiamare CaptureMouse.
Se la chiamata restituisce CaptureMousetrue, IsMouseCaptured anche .true
Se la chiamata restituisce CaptureMousetrue, vengono generati gli GotMouseCapture eventi e IsMouseCapturedChanged , con RoutedEventArgs.Source nei dati dell'evento segnalati come elemento in cui viene chiamato il CaptureMouse metodo . Se si forza l'acquisizione, è possibile interferire con le acquisizioni esistenti, in particolare con le acquisizioni correlate al trascinamento della selezione con il mouse.
Per cancellare l'acquisizione del mouse da tutti gli elementi, chiamare Mouse.Capture con il element parametro fornito come null.