ContentElement.CaptureMouse Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Pokusí se vynutit zachycení myši na tento prvek.
public:
virtual bool CaptureMouse();
public bool CaptureMouse();
abstract member CaptureMouse : unit -> bool
override this.CaptureMouse : unit -> bool
Public Function CaptureMouse () As Boolean
Návraty
truepokud je myš úspěšně zachycena; v opačném případě . false
Implementuje
Příklady
Následující příklad zachytí zachycení myši nebo vydané verze na základě toho, zda je myš již zachycena elementem. Všimněte si, že tento příklad přetypuje potenciální cílový prvek zachycení do IInputElement rozhraní, a proto původně volá metodu IInputElement.CaptureMouse . IInputElement Přetypování je technika, která je užitečná, pokud si nejste jisti, zda prvek, který chcete zachytit myš je nebo UIElementContentElement. Přetypování rozhraní a volání metody rozhraní pak volá příslušnou implementaci CaptureMouse specifické pro typ interně bez nutnosti přetypování zkušební verze na buď UIElement nebo ContentElement. Stejná technika přetypování funguje pro ostatní členy, které IInputElement definují, například mnoho událostí souvisejících se vstupem a další metody související se vstupy.
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
Poznámky
Aby bylo možné zachytit prvek, musí být povolen. Zkontrolujte, jestli IsEnabled je true před voláním CaptureMouse.
Pokud se volání CaptureMouse vrátí , pak IsMouseCaptured je také truetrue.
Pokud volání CaptureMouse vrátí true, pak a GotMouseCaptureIsMouseCapturedChanged události jsou vyvolány, s RoutedEventArgs.Source v datech události hlášen jako prvek, kde CaptureMouse je volána metoda. Pokud vynutíte zachycení, můžete kolidovat s existujícími zachyceními – zejména s zachyceními, které souvisí s přetažením myší.
Chcete-li vymazat zachycení myši ze všech prvků, zavolejte Mouse.Capture s parametrem zadaným element jako null.