RoutedEvent Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет перенаправленное событие в систему событий среда выполнения Windows.
public ref class RoutedEvent sealed
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class RoutedEvent final
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class RoutedEvent
Public NotInheritable Class RoutedEvent
- Наследование
- Атрибуты
Примеры
В этом примере показан базовый синтаксис для подключения обработчика событий с помощью AddHandler и handledEventsToo как true
. В этом случае проводяемое событие имеет значение Tapped, а RoutedEvent
идентификатором -type, используемым в примере, является TappedEvent. Обычно обработчики передачи данных загружаются для страницы или OnApplyTemplate для шаблонного элемента управления.
void MainPage::pageRoot_Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
{
//implementation
}
void MainPage::pageRoot_Loaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
this->AddHandler(UIElement::TappedEvent, ref new TappedEventHandler(this, &MainPage::pageRoot_Tapped), true);
}
private void pageRoot_Tapped(object sender, TappedRoutedEventArgs e)
{
//implementation
}
private void pageRoot_Loaded_1(object sender, RoutedEventArgs e)
{
this.AddHandler(UIElement.TappedEvent, new TappedEventHandler(pageRoot_Tapped), true);
}
Комментарии
Примечание
Система событий среда выполнения Windows не позволяет создавать настраиваемое перенаправленное событие; только среда выполнения Windows сама может определить событие таким образом, чтобы оно было перенаправлено.
Дополнительные сведения о работе перенаправленных событий см. в статье Общие сведения о событиях и перенаправленных событиях. Тип RoutedEvent
является частью инфраструктуры для перенаправленных событий, но вы не используете RoutedEvent
непосредственно в типичном среда выполнения Windows программировании приложений.
Тип предназначен RoutedEvent
для использования в качестве идентификатора для системы событий среда выполнения Windows аналогично тому, как DependencyProperty предоставляет тип идентификатора для системы свойств зависимостей.
UIElement включает несколько статических свойств только для чтения типа RoutedEvent
, которые называются с помощью шаблона именования. Каждое RoutedEvent
свойство именуется в честь события и суффикса Event. Каждое такое свойство является идентификатором перенаправленного события, с которым начинается его имя. Например, TappedEvent определяет событие Tapped, перенаправленное в систему событий.
Для большинства случаев использования кода приложений для добавления или удаления обработчиков достаточно просто ссылаться на событие по имени в XAML или по имени сущности кода в коде. Идентификаторы RoutedEvent
необходимы только при присоединении обработчиков, которые должны вызываться, даже если перенаправленные события ранее помечены как обработанные системой или кодом приложения. Api, используемый в этом сценарии, и API, которые используют RoutedEvent
значение в качестве параметра, — ЭТО UIElement.AddHandler и UIElement.RemoveHandler. Дополнительные сведения см. в разделе Общие сведения о событиях и перенаправленных событиях.
События, использующие идентификатор RoutedEvent
Ниже приведен список перенаправленных событий, которые имеют RoutedEvent
идентификатор и, таким образом, могут использовать описанный метод UIElement.AddHandler :
- DoubleTapped
- DragEnter
- DragLeave
- DragOver
- Падение
- Holding
- KeyDown
- KeyUp
- ManipulationCompleted
- ManipulationDelta
- ManipulationInertiaStarting
- ManipulationStarted
- ManipulationStarting
- PointerCanceled
- PointerCaptureLost
- PointerEntered
- PointerExited
- PointerMoved
- PointerPressed
- PointerReleased
- PointerWheelChanged
- RightTapped
- Tapped
Примечание
GotFocus и LostFocus действуют как перенаправленные события, но не имеют RoutedEvent
идентификатора, поэтому с ними нельзя использовать AddHandler .