Language

RoutedEventHandler 代理人

定義

すべてのルーティング イベントに共通するデータを超える特定のイベント データを持たないさまざまなルーティング イベントを処理するメソッドを表します。

public delegate void RoutedEventHandler(System::Object ^ sender, RoutedEventArgs ^ e);
public delegate void RoutedEventHandler(object sender, RoutedEventArgs e);
type RoutedEventHandler = delegate of obj * RoutedEventArgs -> unit
Public Delegate Sub RoutedEventHandler(sender As Object, e As RoutedEventArgs)

パラメーター

sender
Object

イベント ハンドラーがアタッチされているオブジェクト。

e
RoutedEventArgs

イベントのデータ。

注釈

RoutedEventHandler デリゲートは、イベント データ内のイベント固有の情報を報告しないルーティング イベントに使用されます。 このようなルーティング イベントは多数あります。 Click や Loadedなど、目立つ例があります。

一般的な共通言語ランタイム (CLR) イベントではなく、ルーティング イベントのハンドラーを記述する場合の最も注目すべき違いは、イベントの sender (ハンドラーがアタッチされて呼び出される要素) が必ずしもイベントのソースであるとは見なすことができないということです。 ソースは、イベント データ (Source) のプロパティとして報告されます。 senderとSourceの違いは、要素ツリーを介したルーティング イベントのトラバーサル中に、イベントが異なる要素にルーティングされた結果です。

ダイレクト イベントまたはバブル ルーティング イベントのルーティング動作に意図的に関心がない場合に、最初に発生する要素でのみルーティング イベントを処理する場合は、オブジェクト参照に sender または Source を使用できます。 この状況では、 sender と Source は同じオブジェクトです。

ルーティング イベントの固有の機能を利用し、それに応じてハンドラーを記述する場合、イベント ハンドラーを記述するときに処理するイベント データの 2 つの最も重要なプロパティは、 Source と Handledです。

入力イベントとWPFコントロール クラスの特定の組み合わせの場合、イベントを発生させる要素は、それを処理する機会を持つ最初の要素ではありません。 入力イベントにプレビュー バージョンのイベントがある場合、要素ツリーのルートには最初の機会があり、共有イベント データにHandledするようにtrueを設定でき、入力イベントがイベント ルート内の残りの要素にどのように報告されるかに影響を与えることができます。 プレビュー処理動作では、特定のルーティング イベントが予期したとおりに発生しない外観が得られます。 詳細については、「 プレビュー イベント と 入力の概要」を参照してください。

拡張メソッド

名前 説明
GetMethodInfo(Delegate)

指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。

適用対象