Erweitern Minimieren

UIElement.Holding Event

Tritt ein, wenn eine unbehandelte Hold-Interaktion im berührungsempfindlichen Bereich dieses Elements eintritt.

Syntax


public event HoldingEventHandler Holding


<uiElement Holding="eventhandler"/>

Ereignisinformationen

Delegat HoldingEventHandler

Hinweise

Die Fingereingabe kann eine Holding-Aktion erzeugen, Mausgeräte im Allgemeinen nicht. Weitere Informationen finden Sie unter Schnellstart: Fingereingabe.

Die Ereignisse Tapped, DoubleTapped und RightTapped treten auf, nachdem der Berührungspunkt entfernt wird. Das ursprüngliche Holding-Ereignis tritt auf, wenn der Berührungspunkt noch in Kontakt ist. Das Ereignis tritt auf, wenn der Berührungspunkt für einen bestimmten Zeitraum in etwa derselben PointerPoint-Position verbleibt. Die genaue zeitliche Steuerung für eine vom System als Halteaktion interpretierte Aktion kann vom Benutzer in den Systemeinstellungen angepasst werden.

Holding ist für Informations- Benutzeroberflächen vorgesehen. Für Interaktionen, wie das Anzeigen eines Kontextmenüs, sollten Sie jedoch stattdessen RightTapped verwenden. Sie können Holding zuerst behandeln, um einen Hinweis anzuzeigen, dass ein Menü eingeblendet wird, das Menü selbst jedoch wird mit dem RightTapped-Handler angezeigt. Weitere Informationen über die Anwendung einer Hold-Interaktion in Ihrer App finden Sie unter Fingereingabeinteraktionsentwurf und Richtlinien für allgemeine Benutzerinteraktionen.

Holding Ereignisse treten im Allgemeinen paarweise auf. Wenn die Aktion zuerst als Hold-Aktion aufgrund keiner Bewegung für einen bestimmten Zeitraum interpretiert wird, wird Holding mit dem HoldingState-Wert Started in den HoldingRoutedEventArgs-Ereignisdaten ausgelöst. Bei Beendigung der Hold-Aktion wird ein anderes Holding-Ereignis ausgelöst, diesmal mit einem HoldingState von Completed oder Canceled.

  • Die Hold-Aktion endet mit HoldingState als Completed, wenn der Benutzer den Zeiger während des Hold-Zustands nicht bewegt und dann die Zeigerpunkte freigibt, die die Aktion ausgelöst haben. In diesem Fall wird RightTapped gleich nach dem zweiten Holding-Ereignis ausgelöst.
  • Die Hold-Aktion endet mit HoldingState als Canceled, wenn der Benutzer die Zeiger, die die Aktion ausgelöst haben, nicht bewegt, oder auch bei seltenen Situationen wie dem Ändern des Trefferteststatus auf dem Element während der Aktion oder der Aufzeichnung eines anderen Zeigers. Wenn die Hold-Aktion mit HoldingState als Canceled beendet wird, löst RightTapped nicht aus.

Ein Holding-Ereignis stellt eine Geste dar, während ein PointerPressed-Ereignis ein Eingabeereignis auf niedrigerer Ebene ist. Holding- und PointerPressed-Ereignisse können als Ergebnis einer einzelnen Benutzerinteraktion ausgelöst werden. Auch wenn ein Steuerelement bereits Zeigerereignisse in der Steuerelementlogik oder Manipulationen behandelt, wird hierdurch nicht das Auslösen des Holding-Ereignisses verhindert.

Ein Holding-Ereignis ist möglicherweise das Ergebnis von mehr als einem Zeigerpunkt. Für die Gestenereignisse auf höherer Ebene wie Holding haben Sie nicht mehr unmittelbaren Zugriff auf PointerPoint-Details wie einzelne PointerId-Werte oder einzelne Koordinaten. Sie haben Zugriff auf den Einheitentyp (PointerDeviceType), und für Koordinaten können Sie GetPosition aufrufen, das einen Durchschnittswert der Koordinaten für Hold von mehreren Zeigerpunkten zurückgibt.

Holding ist ein Routingereignis. Für ein Element muss IsHoldingEnabled außerdem true sein, damit es eine Holding-Ereignisquelle ist (true ist die Standardeinstellung). Es ist möglich, Holding auf übergeordneten Elementen zu behandeln, selbst wenn IsHoldingEnabled auf dem übergeordneten Element false ist, wenn das Ereignis von einem untergeordneten Quellelement an ein übergeordnetes Element weitergeleitet wird, wobei IsHoldingEnabledfalse ist. 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.

Holding 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 Holding-Ereignisses vornehmen. Wenn das der Fall ist, verfügt das Steuerelement wahrscheinlich über eine Überschreibung für die Methode OnHolding. Weitere Informationen dazu, wie die klassenbasierte Behandlung für Ereignisse funktioniert, finden Sie unter Eingabeereignishandler in Steuerelementen.

Tapped und Holding schließen einander aus. Wenn die Aktion den Zeitschwellenwert überschreitet, um als eine Hold-Aktion zu gelten, wird sie nicht auch als Tap-Aktion berücksichtigt.

Wenn Holding zuerst ausgelöst wird und das Element Bearbeitungsereignisse durch einen nicht-standardmäßigen ManipulationMode-Wert unterstützt, wird auch ManipulationStarting ausgelöst. Wenn der Zeigerpunkt sich so lange an einer Position befindet, dass Holding erkannt werden kann, der Benutzer die Zeigerpunkte, die der Hold-Aktion zugeordnet sind, jedoch anschließend bewegt, ohne sie freizugeben (was zu einem anderen Holding-Ereignis mit HoldingState als Canceled führt), dann können andere Bearbeitungsereignisse, wie ManipulationStarted und ManipulationDelta, ebenfalls ausgelöst werden.

Halten für Maus- und Stift-/Tablettstifteingabe

Mauseingaben erzeugen standardmäßig keine Holding-Ereignisse. Dies ist unabhängig davon, wie lange eine Maustaste gedrückt gehalten wird oder welche Maustaste gedrückt wird. Allerdings können Mausgeräte und einige Stiftgeräte RightTapped auslösen, wenn eine rechte Maustaste oder etwas Gleichwertiges gedrückt und losgelassen wird.

Hinweis  Es gibt eine Möglichkeit, Mausaktionen als Halteaktionen zu behandeln, wenn Sie Ihre eigene GestureRecognizer verwenden und HoldWithMouse in den Einstellungen angeben.

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
RightTapped
OnHolding
IsHoldingEnabled
Schnellstart: Fingereingabe
Übersicht über Ereignisse und Routingereignisse.

 

 

Anzeigen:
© 2014 Microsoft