RoutedEventArgs.Handled プロパティ

定義

ルーティング イベントがルートをたどる際のイベント処理の現在の状態を示す値を取得または設定します。

public:
 property bool Handled { bool get(); void set(bool value); };
public bool Handled { [System.Security.SecurityCritical] get; [System.Security.SecurityCritical] set; }
public bool Handled { get; set; }
[<get: System.Security.SecurityCritical>]
[<set: System.Security.SecurityCritical>]
member this.Handled : bool with get, set
member this.Handled : bool with get, set
Public Property Handled As Boolean

プロパティ値

Boolean

設定時に、イベントを処理済みとしてマークする場合は true 、マークしない場合は falseに設定します。 この値を読み取る場合、 true は、クラス ハンドラーまたはルート上にある一部のインスタンス ハンドラーのいずれかが、このイベントを処理済みとして既にマークしていることを示します。 false は、いずれのハンドラーもイベントを処理済みとしてマークしていないことを示します。

既定値は false です。

属性

次の例では、処理されたイベントをマークするイベント ハンドラーを実装します。

protected override void OnPreviewMouseRightButtonDown(System.Windows.Input.MouseButtonEventArgs e)
{
    e.Handled = true; //suppress the click event and other leftmousebuttondown responders
    MyEditContainer ec = (MyEditContainer)e.Source;
    if (ec.EditState)
    { ec.EditState = false; }
    else
    { ec.EditState = true; }
    base.OnPreviewMouseRightButtonDown(e);
}
Protected Overrides Sub OnPreviewMouseRightButtonDown(ByVal e As System.Windows.Input.MouseButtonEventArgs)
    e.Handled = True 'suppress the click event and other leftmousebuttondown responders
    Dim ec As MyEditContainer = CType(e.Source, MyEditContainer)
    If ec.EditState Then
        ec.EditState = False
    Else
        ec.EditState = True
    End If
    MyBase.OnPreviewMouseRightButtonDown(e)
End Sub

注釈

イベントを処理済みとしてマークすると、イベント ルートに沿ったリスナーへのルーティング イベントの可視性が制限されます。 イベントは引き続きルートの残りの部分を移動しますが、メソッド呼び出しでAddHandler(RoutedEvent, Delegate, Boolean)特に追加されたHandledEventsToo``trueハンドラーのみが応答で呼び出されます。 インスタンス リスナーの既定のハンドラー (拡張アプリケーション マークアップ言語 (XAML) で表されるものなど) は呼び出されません。 処理済みとしてマークされたイベントの処理は、一般的なシナリオではありません。

独自のイベントを定義するコントロール作成者の場合、クラス レベルでのイベント処理に関して行う決定は、コントロールのユーザー、および派生コントロールのユーザー、およびコントロールに含まれている、またはコントロールを含むその他の要素に影響を与える可能性があります。 詳細については、「ルーティング イベントの処理済みとしてのマーキング、およびクラス処理」を参照してください。

非常にまれな状況では、マークtrueされているHandledイベントを処理し、イベント引数を .Handled false これは、コントロールの入力イベントの特定の領域 (低レベルおよび高レベルのKeyDownTextInput入力イベントが処理に競合するキー処理と、それぞれが異なるルーティング戦略を使用しようとしている場合など) に必要な場合があります。

適用対象