RoutedEvent Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет перенаправленное событие в систему событий среда выполнения Windows.
public ref class RoutedEvent sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class RoutedEvent final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class RoutedEvent final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class RoutedEvent
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class RoutedEvent
Public NotInheritable Class RoutedEvent
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Примеры
В этом примере показан базовый синтаксис для подключения обработчика событий с помощью AddHandler и handledEventsToo как true. В этом случае проводяемое событие имеет значение Tapped, а идентификатор типа RoutedEvent, используемый в примере, — 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);
}
Private Sub Page_Tapped(sender As Object, e As TappedRoutedEventArgs)
' implementation
End Sub
Private Sub Page_Loaded_1(sender As Object, e As RoutedEventArgs)
Me.AddHandler(UIElement.TappedEvent, New TappedEventHandler(AddressOf Page_Tapped), True)
End Sub
Комментарии
Примечание
Система событий среда выполнения 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 .