Windows Dev Center

Erweitern Minimieren

UIElement.PointerReleased Event

Tritt ein, wenn das Zeigergerät, das zuvor eine Press Aktion initiiert hat, losgelassen wird, während es sich innerhalb dieses Elements befindet. Beachten Sie, dass am Ende einer Press-Aktion nicht unbedingt ein PointerReleased-Ereignis ausgelöst wird; es können auch andere Ereignisse sein. Weitere Informationen finden Sie in den Hinweisen.

Syntax


public event PointerEventHandler PointerReleased


<uiElement PointerReleased="eventhandler"/>

Ereignisinformationen

Delegat PointerEventHandler

Hinweise

Fingereingabe, Maus und Stift-/Tablettstiftinteraktionen werden als Zeigereingabe in Windows Store-Apps empfangen, verarbeitet und verwaltet. Alle Interaktionen können ein PointerReleased-Ereignis erstellen. Weitere Informationen finden Sie unter Schnellstart: Zeiger.

Andere Ereignisse als PointerReleased können am Ende der Aktion ausgelöst werden—beispielsweise PointerCanceled oder PointerCaptureLost. Verlassen Sie sich nicht auf PointerPressed-Ereignisse und PointerReleased-Ereignisse, die immer paarweise auftreten. Um ordnungsgemäß zu funktionieren, muss die App auf alle Ereignisse, die mögliche Ergebnisse der Press Aktion darstellen, lauschen und diese behandeln. Einige der Gründe eventuell kein PointerReleased-Vorkommen zu erhalten sind:

  • Unterschiede dahingehend, wie durch bestimmte Hardware Touchaktionen und Press-Aktionen gehandhabt werden
  • Eine programmgesteuerte Zeigererfassung von einem anderen Zeiger
  • Benutzeraktionen, die die Beziehung des Anzeigebereichs ändern, beispielsweise das Ändern von Auflösungs- oder Bildschirmeinstellungen
  • Eingabeinteraktionen (wenn beispielsweise ein Stift dieselbe Oberfläche berührt wie zuvor ein Finger)

Die Benutzeraktion, die ursprünglich ein PointerReleased-Ereignis auslöst, kann zu einem Tapped-Ereignis oder zu RightTapped unter Bedingungen, die je nach Gerät unterschiedlich sind, führen. Weitere Informationen finden Sie unter Tapped und RightTapped.

Mauseingaben werden einem einzelnen Zeiger zugeordnet, der zugewiesen wird, wenn die Mauseingabe anfänglich erkannt wird. Wenn auf eine Maustaste geklickt wird (links, Rad oder rechts), wird eine sekundäre Zuordnung zwischen dem Zeiger und dieser Taste vom PointerPressed-Ereignis erstellt. Das PointerReleased-Ereignis wird nur ausgelöst, wenn die gleiche Maustaste losgelassen wird (keine andere Schaltfläche kann dem Zeiger zugeordnet werden, bis dieses Ereignis abgeschlossen ist). Aufgrund dieser exklusiven Zuordnung werden andere Maustastenklicks über das PointerMoved-Ereignis weitergeleitet. Sie können den Maustastenzustand testen, wenn Sie dieses Ereignis behandeln, wie im folgenden Beispiel dargestellt.


private void Target_PointerMoved(object sender, PointerRoutedEventArgs e)
{
    Windows.UI.Xaml.Input.Pointer ptr = e.Pointer;

    // Multiple, simultaneous mouse button inputs are processed here.
    // Mouse input is associated with a single pointer assigned when 
    // mouse input is first detected. 
    // Clicking additional mouse buttons (left, wheel, or right) during 
    // the interaction creates secondary associations between those buttons 
    // and the pointer through the pointer pressed event. 
    // The pointer released event is fired only when the last mouse button 
    // associated with the interaction (not necessarily the initial button) 
    // is released. 
    // Because of this exclusive association, other mouse button clicks are 
    // routed through the pointer move event.          
    if (ptr.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Mouse)
    {
        // To get mouse state, we need extended pointer details.
        // We get the pointer info through the getCurrentPoint method
        // of the event argument. 
        Windows.UI.Input.PointerPoint ptrPt = e.GetCurrentPoint(Target);
        if (ptrPt.Properties.IsLeftButtonPressed)
        {
            eventLog.Text += "\nLeft button: " + ptrPt.PointerId;
        }
        if (ptrPt.Properties.IsMiddleButtonPressed)
        {
            eventLog.Text += "\nWheel button: " + ptrPt.PointerId;
        }
        if (ptrPt.Properties.IsRightButtonPressed)
        {
            eventLog.Text += "\nRight button: " + ptrPt.PointerId;
        }
    }

    // Prevent most handlers along the event route from handling the same event again.
    e.Handled = true;

    // Display pointer details.
    updateInfoPop(e);
}


PointerReleased ist ein Routingereignis. Weitere Informationen zum Routingereigniskonzept finden Sie in der Übersicht über Ereignisse und Routingereignisse.

Für Fingereingabeaktionen und interaktionspezifische oder Bearbeitungsereignisse, die Folgen einer Fingereingabeaktion sind, muss ein Element für Treffertests sichtbar sein, um die Ereignisquelle darzustellen und das Ereignis auszulösen, das der Aktion zugeordnet ist. UIElement.Visibility muss Visible sein. Andere Eigenschaften von abgeleiteten Typen wirken sich auch auf die Treffertestsichtbarkeit aus. Weitere Informationen finden Sie unter Treffertests und Eingabeereignisse.

PointerReleased unterstützt die Möglichkeit, Ereignishandler zur Route hinzufügen, die auch dann aufgerufen werden, wenn die Ereignisdaten für das Ereignis als Handled gekennzeichnet sind. Siehe AddHandler.

Bestimmte Windows-Runtime-Steuerelemente können eine klassenbasierte Behandlung des PointerReleased-Eingabeereignisses vornehmen. Wenn das der Fall ist, verfügt das Steuerelement wahrscheinlich über eine Überschreibung für die Methode OnPointerReleased. In der Regel wird das Ereignis vom Klassenhandler als behandelt markiert, sodass auf diesem Steuerelement für das PointerReleased-Ereignis keine Aktion zum Behandeln durch einen Benutzercodehandler ausgelöst wird. Weitere Informationen dazu, wie die klassenbasierte Behandlung für Ereignisse funktioniert, finden Sie unter Eingabeereignishandler in Steuerelementen.

Steuerelemente können auch eine PointerUpThemeAnimation-Persönlichkeitsanimation haben, die unabhängig vom Ereignis ausgeführt wird.

Anforderungen

Mindestens unterstützter Client

Windows 8

Mindestens unterstützter Server

Windows Server 2012

Namespace

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadaten

Windows.winmd

Siehe auch

UIElement
Tapped
PointerPressed
Schnellstart: Fingereingabe
Beispiel für XAML-Benutzereingabeereignisse

 

 

Anzeigen:
© 2015 Microsoft