RoutedEventArgs.Handled プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ルーティング イベントがルートをたどる際のイベント処理の現在の状態を示す値を取得または設定します。
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
プロパティ値
設定時に、イベントを処理済みとしてマークする場合は 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
適切です。 これは、コントロールの入力イベントの特定の領域で必要になる場合があります。たとえば、 のキー処理やTextInput、低レベルと高レベルのKeyDown入力イベントが処理に競合し、それぞれが異なるルーティング戦略を使用しようとしています。
適用対象
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示