共用方式為


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
繼承
Object Platform::Object IInspectable RoutedEvent
屬性

Windows 需求

裝置系列
Windows 10 (已於 10.0.10240.0 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)

範例

此範例示範使用 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);
}
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 類型是路由事件的基礎結構一部分,但您不會直接在一般Windows 執行階段應用程式程式設計中使用 RoutedEvent。

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

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

使用 RoutedEvent 識別碼的事件

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

注意

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

適用於

另請參閱