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
、例で使用される -type 識別子は 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
- DragOver
- Drop
- 株式公開状況
- KeyDown
- KeyUp
- ManipulationCompleted
- ManipulationDelta
- ManipulationInertiaStarting
- ManipulationStarted
- ManipulationStarting
- PointerCanceled
- PointerCaptureLost
- PointerEntered
- PointerExited
- PointerMoved
- PointerPressed
- PointerReleased
- PointerWheelChanged
- RightTapped
- Tapped
Note
GotFocus と LostFocus は ルーティング イベントのように動作しますが RoutedEvent
、識別子がないため、 AddHandler を使用することはできません。