RoutedEvent クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
- 継承
- 属性
例
この例では、イベント ハンドラーを AddHandler と handledEventsToo に trueとして結び付ける基本的な構文を示します。 この場合、ワイヤードされているイベントは タップされ、例で使用されている 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.AddHandler と UIElement.RemoveHandler です。 詳しくは、「イベントとルーティング イベントの概要」をご覧ください。
RoutedEvent 識別子を使用するイベント
RoutedEvent識別子を持ち、説明した UIElement.AddHandler 手法を使用できるルーティング イベントの一覧を次に示します。
- DoubleTapped
- DragEnter
- DragLeave
- ドラッグオーバー
- ドロップ
- 保持
- KeyDown
- KeyUp
- ManipulationCompleted
- ManipulationDelta
- ManipulationInertiaStarting
- ManipulationStarted
- ManipulationStarting
- PointerCanceled
- PointerCaptureLost
- PointerEntered
- PointerExited
- PointerMoved
- PointerPressed
- PointerReleased
- PointerWheelChanged
- RightTapped
- タップ
Note
GotFocus と LostFocus は ルーティング イベントのように動作しますが、 RoutedEvent 識別子がないため、 AddHandler を使用することはできません。