ContentElement.CaptureMouse Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Pogingen om het vastleggen van de muis naar dit element af te dwingen.
public:
virtual bool CaptureMouse();
public bool CaptureMouse();
abstract member CaptureMouse : unit -> bool
override this.CaptureMouse : unit -> bool
Public Function CaptureMouse () As Boolean
Retouren
true als de muis is vastgelegd; anders, false.
Implementeringen
Voorbeelden
In het volgende voorbeeld wordt de muis vastgelegd of wordt de opname vrijgegeven op basis van of de muis al door het element is vastgelegd. Houd er rekening mee dat in dit voorbeeld het potentiële capture-doelelement wordt omgezet in de IInputElement interface en daarom in eerste instantie de IInputElement.CaptureMouse methode wordt aangeroepen. Casten naar IInputElement is een techniek die nuttig is als u niet zeker weet of het element dat u wilt vastleggen de muis is een UIElement of een ContentElement. De interfacecast en de interfacemethode-aanroep roept vervolgens intern de juiste typespecifieke CaptureMouse-implementatie aan zonder dat een proefversie naar UIElement of ContentElement. Dezelfde cast-techniek werkt voor andere leden die IInputElement bijvoorbeeld veel van de invoergerelateerde gebeurtenissen en andere invoergerelateerde methoden definiëren.
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
Opmerkingen
Een element moet zijn ingeschakeld om te worden vastgelegd. Controleer of IsEnabled het is true voordat u belt CaptureMouse.
Als oproepen CaptureMouse worden geretourneerd true, is dat IsMouseCaptured ook true.
Als aanroepen CaptureMouse worden geretourneerd true, worden de GotMouseCapture en IsMouseCapturedChanged gebeurtenissen gegenereerd, waarbij RoutedEventArgs.Source de gebeurtenisgegevens worden gerapporteerd als het element waarin de CaptureMouse methode wordt aangeroepen. Als u het vastleggen forceert, kunt u bestaande opnamen verstoren, met name met captures die betrekking hebben op slepen en neerzetten met de muis.
Als u de muisopname van alle elementen wilt wissen, roept u Mouse.Capture de element parameter aan die is opgegeven als null.