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

この例では、イベント ハンドラーを AddHandlerhandledEventsTootrueとして結び付ける基本的な構文を示します。 この場合、ワイヤードされているイベントは タップされ、例で使用されている 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);
}

注釈

Note

Windows ランタイム イベント システムでは、カスタム ルーティング イベントを作成できません。ルーティング イベントの動作を持つイベントを定義できるのは、Windows ランタイム自体だけです。

ルーティング イベントのしくみの詳細については、「 イベントとルーティング イベントの概要」を参照してください。 RoutedEventの種類はルーティング イベントのインフラストラクチャの一部ですが、一般的なWindows ランタイム アプリプログラミングではRoutedEventを直接使用しません。

RoutedEvent型の目的は、DependencyProperty が依存関係プロパティ システムの識別子型を提供するのと同様に、Windows ランタイム イベント システムの識別子として機能することです。 UIElement には、名前付けパターンを使用して名前を付ける、 RoutedEvent型のいくつかの静的読み取り専用プロパティが含まれています。 各 RoutedEvent プロパティには、イベントにサフィックス "Event" を付加した名前が付けられます。 このような各プロパティは、その名前で始まるルーティング イベントの識別子です。 たとえば、 TappedEvent は、イベント システムへの Tapped ルーティング イベントを識別します。

ほとんどのアプリ コードの使用では、ハンドラーを追加または削除するために、XAML の名前またはコード内のコード エンティティ名でイベントを参照するだけで、オブジェクトのイベントを参照する必要があります。 RoutedEvent識別子は、ルーティング イベントが以前にシステム コードまたはアプリ コードによって処理済みとしてマークされている場合でも呼び出すハンドラーをアタッチする場合にのみ必要です。 このシナリオで使用する API と、 RoutedEvent 値をパラメーターとして使用する API は、 UIElement.AddHandlerUIElement.RemoveHandler です。 詳しくは、「イベントとルーティング イベントの概要」をご覧ください。

RoutedEvent 識別子を使用するイベント

RoutedEvent識別子を持ち、説明した UIElement.AddHandler 手法を使用できるルーティング イベントの一覧を次に示します。

Note

GotFocusLostFocus は ルーティング イベントのように動作しますが、 RoutedEvent 識別子がないため、 AddHandler を使用することはできません。

適用対象

こちらもご覧ください