Поделиться через


Control.OnPointerExited(PointerRoutedEventArgs) Метод

Определение

Вызывается перед событием PointerExited .

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)

Параметры

e
PointerRoutedEventArgs

Данные для события.

Комментарии

Работа в Windows 8

В Windows 8 событие PointerEntered обычно не срабатывает, если экранный курсор (перо или точка касания) фактически не перемещается. Например, PointerEntered не срабатывает, если мышь и ее экранный курсор остаются неподвижными, а объект с обработчиком PointerEntered имеет положение, преобразованное или иным образом скорректированное для перемещения под экранным курсором. Кроме того, pointerEntered не срабатывает, если элемент, например всплывающее или всплывающее окно, исчезает, а указатель теперь находится на новом элементе (но указатель еще не перемещен). С этим связано поведение PointerExited . Например, если всплывающее окно закрывается программным способом, оно не будет запускать PointerExited , если указатель не переместился в качестве причины его закрытия. Вы по-прежнему получите событие PointerEntered , если указатель перемещается над вновь обнаруженным элементом, но это определяет пользователь, будет ли это происходить во время перемещения, а не в момент закрытия. Короче говоря, попытка использовать последний элемент, который сработал PointerEntered для определения состояния указателя в пользовательском интерфейсе приложения, не является исчерпывающей в Windows 8, и существует множество сценариев, в которых PointerEntered и PointerExited не будут сопряжены. Это влияет на визуальные состояния элементов управления, которые также используют PointerEntered и PointerExited в качестве триггеров.

Начиная с Windows 8.1, pointerExited запускается в любом случае, когда указатель одновременно запускал событие PointerEntered, но некоторые изменения состояния пользовательского интерфейса происходят, когда указатель больше не находится в этом элементе. Сюда входят случаи, когда исчезает весь элемент. А если указатель теперь находится на другом элементе из-за исчезновения предыдущего элемента, этот элемент запускает pointerEntered, даже если указатель никогда не перемещается. Элементы, задающие для их видимости значение Свернутый программным способом, является одним из способов исчезновения элементов из пользовательского интерфейса, и поведение Windows 8.1 учитывает это и будет запускать PointerExited для элемента **Collapsed ** и PointerEntered для вновь появившегося элемента.

Если вы переносите код приложения из Windows 8 в Windows 8.1 может потребоваться учитывать это изменение поведения, так как это приводит к срабатыванию PointerExited и PointerEntered в тех случаях, когда они не запускались ранее.

Приложения, которые скомпилированы для Windows 8, но выполняются в Windows 8.1, продолжают использовать правила, действующие в Windows 8.

Применяется к

См. также раздел