次の方法で共有


FrameworkElement.ContextMenuClosing イベント

定義

要素のコンテキスト メニューが閉じる直前に発生します。

public:
 event System::Windows::Controls::ContextMenuEventHandler ^ ContextMenuClosing;
public event System.Windows.Controls.ContextMenuEventHandler ContextMenuClosing;
member this.ContextMenuClosing : System.Windows.Controls.ContextMenuEventHandler 
Public Custom Event ContextMenuClosing As ContextMenuEventHandler 

イベントの種類

注釈

コンテキスト メニューの終了を抑制するには、イベントのハンドラーで処理済みとしてマークする必要があります。

スタイルで このイベントを として EventTrigger 使用するには、基になるサービスの イベントの定義を参照する必要があります。

<EventTrigger RoutedEvent="ContextMenuService.ContextMenuClosing">
  <!-- storyboard here ... -->
</EventTrigger>

(基になるサービス イベントを公開する の FrameworkElement イベント実装では、トリガーとして使用できるような識別子がマップ ContextMenuClosing されないため、この使用が必要です)。

ContextMenu 自体は FrameworkElement 派生クラスですが ContextMenuClosing 、イベントはコンテキスト メニューによって直接発生しません。 代わりに、イベントはコンテキスト メニューをプロパティとして "所有" する要素から発生し、ユーザーが UI でコンテキスト メニューを閉じようとした場合にのみ発生します。 ただし、それ自体がプロパティ (入れ子になったコンテキスト メニュー) を持つことContextMenuは可能ContextMenuです。 この場合、 ContextMenu は実際には入れ子になった ContextMenu を所有し、イベントのソースが入れ子になったコンテキスト メニューであるイベントを発生させる可能性があります。

ContextMenuクラス自体にも同様のイベント (Closed) がありますが、Closedイベントによってユーザー アクションを取り消す機会は提供されません。

ルーティングされたイベント情報

識別子フィールド ContextMenuClosingEvent
ルーティング戦略 バブル
代理人 ContextMenuEventHandler
  • 派生クラスでこのイベントのクラス処理を実装するには、 をオーバーライド OnContextMenuClosing します。

適用対象

こちらもご覧ください