Freigeben über


Control.OnPointerEntered(PointerRoutedEventArgs) Methode

Definition

Wird aufgerufen, bevor das PointerEntered-Ereignis auftritt.

protected:
 virtual void OnPointerEntered(PointerRoutedEventArgs ^ e) = OnPointerEntered;
void OnPointerEntered(PointerRoutedEventArgs const& e);
protected virtual void OnPointerEntered(PointerRoutedEventArgs e);
function onPointerEntered(e)
Protected Overridable Sub OnPointerEntered (e As PointerRoutedEventArgs)

Parameter

e
PointerRoutedEventArgs

Die Ereignisdaten für das Ereignis.

Hinweise

Windows 8-Verhaltensweise

Für Windows 8 wird das PointerEntered-Ereignis im Allgemeinen nicht ausgelöst, wenn sich der Bildschirmcursor (oder der Eingabestift oder der Touchpoint) nicht tatsächlich bewegt hat. Beispielsweise wird PointerEntered nicht ausgelöst, wenn die Maus und ihr Bildschirmcursor nicht stehen bleiben und ein Objekt mit einem PointerEntered-Handler seine Position übersetzt oder anderweitig so angepasst wird, dass es sich unter dem Bildschirmcursor bewegt. Oder PointerEntered wird nicht ausgelöst, wenn ein Element wie ein Popup- oder Flyout verschwindet und sich der Zeiger jetzt auf ein neues Element befindet (der Zeiger wurde jedoch noch nicht verschoben). Im Zusammenhang damit ist das PointerExited-Verhalten . Wenn ein Popup beispielsweise programmgesteuert geschlossen wird, wird PointerExited nicht ausgelöst, wenn sich der Zeiger nicht als Ursache für das Schließen bewegt hat. Sie erhalten weiterhin ein PointerEntered-Ereignis , wenn sich der Zeiger über das neu offenbarte Element bewegt. Ob dies geschieht, liegt jedoch beim Benutzer, und es geschieht zum Zeitpunkt der Bewegung, nicht im Moment der Kündigung. Kurz gesagt, der Versuch, das letzte Element zu verwenden, das PointerEntered für die Bestimmung des Zeigerzustands auf der App-Benutzeroberfläche ausgelöst hat, ist in Windows 8 nicht umfassend, und es gibt viele Szenarien, in denen PointerEntered und PointerExited nicht paaren . Dies wirkt sich auch auf die visuellen Zustände für Steuerelemente aus, die PointerEntered und PointerExited als Trigger verwenden.

Ab Windows 8.1 wird PointerExited für jeden Fall ausgelöst, in dem der Zeiger einmal ein PointerEntered-Ereignis ausgelöst hat. Eine Änderung des Ui-Zustands erfolgt jedoch, wenn sich der Zeiger nicht mehr innerhalb dieses Elements befindet. Dies schließt Fälle ein, in denen das gesamte Element verschwindet. Und wenn sich der Zeiger jetzt auf ein anderes Element befindet, weil ein vorheriges Element verschwunden ist, löst dieses Element PointerEntered aus, auch wenn sich der Zeiger nie bewegt. Elemente, die ihre Sichtbarkeit programmgesteuert auf Reduziert festlegen, ist eine Möglichkeit, wie Elemente von der Benutzeroberfläche verschwinden können, und das Windows 8.1 Verhalten übernimmt dies und löst PointerExited für das **Collapsed ** -Element und PointerEntered für das neu offenbarte Element aus.

Wenn Sie Ihren App-Code von Windows 8 zu Windows 8.1 migrieren, sollten Sie diese Verhaltensänderung berücksichtigen, da dies dazu führt, dass PointerExited und PointerEntered in Fällen ausgelöst werden, in denen sie zuvor nicht ausgelöst hätten.

Apps, die für Windows 8 kompiliert wurden, aber unter Windows 8.1 ausgeführt werden, weisen weiterhin das Windows 8-Verhalten auf.

Gilt für:

Weitere Informationen