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 in questo elemento.
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
.
Implementazioni
Esempio
Nell'esempio seguente viene acquisita l'acquisizione del mouse o delle versioni, in base al fatto che il mouse sia già acquisito dall'elemento. Si noti che questo esempio esegue il cast dell'elemento di destinazione dell'acquisizione potenziale all'interfaccia IInputElement e quindi chiama inizialmente il IInputElement.CaptureMouse metodo. Il cast a IInputElement è una tecnica utile se non si è certi che l'elemento che si vuole acquisire il mouse è un o un UIElementContentElement. Il cast dell'interfaccia e la chiamata al metodo di interfaccia chiama quindi l'implementazione di CaptureMouse specifica del tipo appropriata internamente senza richiedere un cast di valutazione 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 CaptureMouse restituisce true
, è IsMouseCaptured anche true
.
Se la chiamata restituisce true
, GotMouseCapture gli eventi e IsMouseCapturedChanged vengono generati, con RoutedEventArgs.Source nei dati dell'evento segnalati come elemento in cui viene chiamato il CaptureMouse metodo.CaptureMouse Se si forza l'acquisizione, è possibile interferire con le acquisizioni esistenti, in particolare con acquisizioni correlate alla trascinamento del mouse.
Per cancellare l'acquisizione del mouse da tutti gli elementi, chiamare Mouse.Capture con il element
parametro specificato come null
.