語言

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
屬性

範例

此範例展示了將事件處理程式與 AddHandler 及 handledEventsToo 連接的基本 true語法。 此時被接線的事件為 Tapped, 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);
}

備註

Note

Windows 執行階段 事件系統不允許您建立自訂路由事件;只有 Windows 執行階段 本身能定義具有路由事件行為的事件。

關於路由事件的更多運作資訊,請參閱事件 與路由事件概述。 這個RoutedEvent型別是路由事件基礎設施的一部分,但你不會直接用RoutedEvent在典型的 Windows 執行階段 應用程式程式設計中。

此RoutedEvent型別的目的是作為 Windows 執行階段 事件系統的識別碼,類似於 DependencyProperty 為相依屬性系統提供識別碼類型。 UIElement 包含數個靜態唯讀屬性,類型為 RoutedEvent,這些屬性以命名模式命名。 每個 RoutedEvent 物業都以一個事件及「Event」後綴命名。 每個此類屬性即為其名稱開頭的路由事件識別碼。 例如, TappedEvent 會將 被 Ttap 路由的事件識別到事件系統。

在大多數應用程式程式碼中使用中,只要在 XAML 中以名稱或程式碼中以程式碼實體名稱引用事件,就能在物件上引用事件,方便新增或移除處理器。 RoutedEvent這些識別碼只有在你附加處理程序時才需要,即使路由事件先前已被系統或應用程式代碼標記為處理,也應該被呼叫。 你在這個情境中使用的 API,以及以 RoutedEvent 值作為參數的 API 分別是 UIElement.AddHandler 和 UIElement.RemoveHandler。 如需詳細資訊,請參閱事件與路由事件概觀。

使用 RoutedEvent 識別碼的事件

以下是有 RoutedEvent 識別碼、因此可以使用 UIElement.AddHandler 技術的路由事件清單:

Note

GotFocus 和 LostFocus 就像路由事件一樣,但沒有 RoutedEvent 識別碼,所以你無法用 AddHandler 搭配它們。

適用於

另請參閱