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 連接事件處理常式的基本語法。 在此情況下,正在有線的事件是 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);
}

備註

注意

Windows 執行階段事件系統無法讓您建立自訂路由事件;只有Windows 執行階段本身可以定義事件,使其具有路由事件行為。

如需路由事件運作方式的詳細資訊,請參閱 事件和路由事件概觀。 此 RoutedEvent 類型是路由事件的基礎結構的一部分,但您不會直接在一般Windows 執行階段應用程式程式設計中使用 RoutedEvent

型別的目的是 RoutedEvent 要作為Windows 執行階段事件系統的識別碼,類似于DependencyProperty如何提供相依性屬性系統的識別碼類型。 UIElement 包含數個類型 RoutedEvent 為 的靜態唯讀屬性,這些屬性是使用命名模式來命名。 每個 RoutedEvent 屬性都會以事件加上尾碼 「Event」 來命名。 每個這類屬性都是其名稱開頭之路由事件的識別碼。 例如, TappedEvent 會將 Tapped 路由事件識別到事件系統。

對於大部分的應用程式程式碼使用方式,只要以 XAML 中的名稱或程式碼機構名稱來參考事件,就只需要在物件上參考事件,即可加入或移除處理常式。 RoutedEvent只有在附加應該叫用的處理常式時,即使路由事件先前標示為由系統或應用程式程式碼處理,仍需要識別碼。 您用於此案例的 API,以及使用 RoutedEvent 值做為參數的 API 是 UIElement.AddHandlerUIElement.RemoveHandler。 如需詳細資訊,請參閱事件與路由事件概觀

使用 RoutedEvent 識別碼的事件

以下是具有 RoutedEvent 識別碼的路由事件清單,因此可以使用我們描述的 UIElement.AddHandler 技術:

注意

GotFocusLostFocus 的作用就像路由事件,但沒有 RoutedEvent 識別碼,因此您無法搭配使用 AddHandler

適用於

另請參閱