情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

UIElement.RemoveHandler メソッド

指定したルーティング イベント ハンドラをこの要素から削除します。

名前空間: System.Windows
アセンブリ: PresentationCore (presentationcore.dll 内)

public void RemoveHandler (
	RoutedEvent routedEvent,
	Delegate handler
)
public final void RemoveHandler (
	RoutedEvent routedEvent, 
	Delegate handler
)
public final function RemoveHandler (
	routedEvent : RoutedEvent, 
	handler : Delegate
)
メソッドは XAML では使用できません。

パラメータ

routedEvent

ハンドラがアタッチされているルーティング イベントの識別子。

handler

この要素のイベント ハンドラ コレクションから削除する特定のハンドラ実装。

API を使用するための最も一般的なシナリオは、カスタム ルーティング イベントに関連付けられた共通言語ランタイム (CLR) "ラッパー" イベントを実装する場合、特に、ハンドラの "削除" ロジックを CLR レベルで実装する場合です。この「解説」の後の例は、このシナリオを示しています。

メソッド呼び出しの入力パラメータと一致する基準で登録されたハンドラが存在しない場合は、このメソッドを呼び出しても無効です。

基準と一致したハンドラが複数アタッチされている場合は、イベント ハンドラ ストアの最初のハンドラだけが削除されます。この動作は、-= 演算子の CLR 動作と一貫性があります。

routedEvent および handler には null 参照 (Visual Basic では Nothing) を指定できません。いずれかの値に null 参照 (Visual Basic では Nothing) を指定しようとすると、例外が発生します。

このメソッドは、既に処理されたイベントの処理を有効にする AddHandler(RoutedEvent,Delegate,Boolean) シグネチャを使用してハンドラが最初に追加された場合に提供される handledEventsToo パラメータ情報を無視します。いずれかの種類のハンドラが削除されます。

イベント ラッパー定義の一部として RemoveHandler を使用する例を次に示します。

public static readonly RoutedEvent TapEvent = EventManager.RegisterRoutedEvent("Tap", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(MyButtonSimple));

// Provide CLR accessors for the event
public event RoutedEventHandler Tap
   {
          add { AddHandler(TapEvent, value); } 
          remove { RemoveHandler(TapEvent, value); }
   }

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

.NET Framework

サポート対象 : 3.0

コミュニティの追加

表示:
© 2014 Microsoft