ContentElement.CaptureMouse Methode

Definitie

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.

Van toepassing op

Zie ook