Freigeben über


Control.OnPointerExited(PointerRoutedEventArgs) Methode

Definition

Wird aufgerufen, bevor das PointerExited-Ereignis auftritt.

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

Parameter

e
PointerRoutedEventArgs

Die Ereignisdaten für das Ereignis.

Hinweise

Windows 8-Verhaltensweise

Unter Windows 8 wird das PointerEntered-Ereignis im Allgemeinen nicht ausgelöst, wenn sich der Bildschirmcursor (oder der Eingabestift oder Touchpoint) nicht tatsächlich bewegt hat. Beispielsweise wird PointerEntered nicht ausgelöst, wenn die Maus und der zugehörige Bildschirmcursor stationär bleiben und die Position eines Objekts mit einem PointerEntered-Handler übersetzt oder anderweitig so angepasst wird, dass es sich unterhalb des Bildschirmcursors bewegt. Oder PointerEntered wird nicht ausgelöst, wenn ein Element wie ein Popup oder flyout nicht mehr angezeigt wird und sich der Zeiger jetzt über einem neuen 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 der Zeiger nicht als Ursache für das Schließen verschoben wurde. Sie erhalten weiterhin ein PointerEntered-Ereignis , wenn sich der Zeiger über das neu offenbarte Element bewegt. Dies liegt jedoch beim Benutzer, ob dies geschieht, und dies geschieht zum Zeitpunkt der Bewegung, nicht zum Zeitpunkt der Entlassung. 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 kombiniert werden. Dies wirkt sich auf die visuellen Zustände für Steuerelemente aus, die auch PointerEntered und PointerExited als Trigger verwenden.

Ab Windows 8.1 wird PointerExited für jeden Fall ausgelöst, in dem der Zeiger zu einem zeitpunkt ein PointerEntered-Ereignis ausgelöst hat, aber eine Änderung des Ui-Zustands erfolgt, 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 über einem anderen Element befindet, weil ein vorheriges Element verschwunden ist, löst dieses Element PointerEntered aus, auch wenn der Zeiger nie bewegt wird. Elemente, die ihre Sichtbarkeit programmgesteuert auf Collapsed festlegen, sind eine Möglichkeit, wie Elemente aus der Benutzeroberfläche verschwinden können, und das Windows 8.1 Verhalten berücksichtigt dies und löst PointerExited für das **Collapsed ** -Element und PointerEntered für das neu angezeigte Element aus.

Wenn Sie Ihren App-Code von Windows 8 zu Windows 8.1 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