次の方法で共有


PresentationSource.AddSourceChangedHandler メソッド

定義

指定された要素に SourceChanged イベントのハンドラーを追加します。

public:
 static void AddSourceChangedHandler(System::Windows::IInputElement ^ element, System::Windows::SourceChangedEventHandler ^ handler);
[System.Security.SecurityCritical]
public static void AddSourceChangedHandler (System.Windows.IInputElement element, System.Windows.SourceChangedEventHandler handler);
public static void AddSourceChangedHandler (System.Windows.IInputElement element, System.Windows.SourceChangedEventHandler handler);
[<System.Security.SecurityCritical>]
static member AddSourceChangedHandler : System.Windows.IInputElement * System.Windows.SourceChangedEventHandler -> unit
static member AddSourceChangedHandler : System.Windows.IInputElement * System.Windows.SourceChangedEventHandler -> unit
Public Shared Sub AddSourceChangedHandler (element As IInputElement, handler As SourceChangedEventHandler)

パラメーター

element
IInputElement

ハンドラーを追加する要素。

handler
SourceChangedEventHandler

追加するハンドラーの実装。

属性

注釈

このイベントの構文ブロックの状態にかかわらず、正当な拡張アプリケーション マークアップ言語 (XAML) 添付プロパティの使用法はありません。 拡張アプリケーション マークアップ言語 (XAML) でハンドラーを追加しないでください。また、コード内のハンドラーは、プレゼンテーション (PresentationSource) コンテンツのホストとして機能するオブジェクトにのみ配置する必要があります。 このようなハンドラーは、オブジェクトの初期化中にのみアタッチし、Dispose メソッドまたは同等のオブジェクト クリーンアップで明示的に削除する必要があります。

これはルーティング イベントですが、通常のルーティング イベントの動作とは異なる特別な制限があります。これは、このイベントの処理に関連する一般的なアプリケーション シナリオの要素の数が比較的少ないためです。

  • UIElement メソッドまたは ContentElementAddHandler メソッドを使用してハンドラーを追加することはできません。 AddSourceChangedHandlerを使用する必要があります。

  • イベント自体がパブリックとして公開されていないため、C# += および -= イベント ハンドラー構文、および関連する言語固有のハンドラー構文はサポートされていません。 ハンドラーを直接追加および削除するための PresentationSource ユーティリティ メソッドのみがサポートされています。

  • クラス ハンドラーは使用できません。 具体的には、SourceChanged の識別子フィールドは存在しますが、識別子はパブリックではないため、クラス コンストラクターでこのイベントに対して RegisterClassHandler を呼び出すことはできません。

  • ハンドラーの 1 つが引数を処理済みとしてマークしようとした場合でも、登録されているすべてのハンドラーは SourceChanged イベントを受け取ります。

適用対象