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
继承
Object Platform::Object IInspectable RoutedEvent
属性

示例

此示例演示使用 AddHandlerhandledEventsToo 作为 true连接事件处理程序的基本语法。 在本例中,正在连接的事件为 Tappped,示例中 RoutedEvent使用的 类型标识符为 TappedEvent。 线路处理程序的典型位置是页面 的 Loaded 或模板化控件的 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”命名。 每个此类属性都是其名称以开头的路由事件的标识符。 例如, TappedEventTapped 路由事件标识到事件系统。

对于大多数应用代码用法,只需在 XAML 中按名称或代码中的代码实体名称引用事件,即可在对象上引用事件,以便添加或删除处理程序。 RoutedEvent仅当附加应调用的处理程序时,才需要标识符,即使路由事件以前被系统或应用代码标记为处理也是如此。 用于此方案的 API 以及使用 RoutedEvent 值作为参数的 API 是 UIElement.AddHandlerUIElement.RemoveHandler。 有关详细信息,请参阅事件和路由事件概述

使用 RoutedEvent 标识符的事件

下面是具有 RoutedEvent 标识符的路由事件列表,因此可以使用我们介绍的 UIElement.AddHandler 技术:

注意

GotFocusLostFocus 的行为类似于路由事件,但没有 RoutedEvent 标识符,因此不能将 AddHandler 与它们一起使用。

适用于

另请参阅