ContentElement.OnPreviewMouseRightButtonDown(MouseButtonEventArgs) 方法

定义

当某个未处理的 PreviewMouseRightButtonDown 路由事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

protected public:
 virtual void OnPreviewMouseRightButtonDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected internal virtual void OnPreviewMouseRightButtonDown (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnPreviewMouseRightButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnPreviewMouseRightButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Friend Overridable Sub OnPreviewMouseRightButtonDown (e As MouseButtonEventArgs)

参数

e
MouseButtonEventArgs

包含事件数据的 MouseButtonEventArgs。 事件数据报告称已按下鼠标右键。

注解

事件 PreviewMouseRightButtonDown 似乎通过隧道路线,但实际上以间接方式移动。 Mouse.PreviewMouseDown 是隧道路由的基础事件,沿事件路由的每个 ContentElement 事件都使用相同的处理来引发直接路由事件 MouseRightButtonDown。 尽管可以出于此元素的目的将 PreviewMouseRightButtonDown 事件标记为已处理,但已处理的状态不会永久延续到事件路由中的其他元素。 但是,你可能希望将事件标记为已处理,以防止常规实例处理程序 (未指定 handledEventsToo) 处理程序被调用。

ContentElement 常规鼠标事件处理的默认实现侦听 Mouse.PreviewMouseDown 并将其转换为适当的本地事件。 如果要重写此逻辑,则必须创建派生类。 在派生类的静态构造函数中,为 Mouse.PreviewMouseDown注册备用类处理程序。 不能通过重写 OnPreviewMouseRightButtonDown来更改 的ContentElement鼠标处理行为。

或者,可以重写此方法,以更改特定鼠标状态的事件处理。 是否选择调用基实现取决于你的方案。 未能调用 base 将禁用对同样需要调用 OnPreviewMouseRightButtonDown的上级类上的该鼠标事件的默认输入处理。 例如,可以在派生类中从 Control 派生类派生并重写 OnPreviewMouseRightButtonDown ,而无需调用 base;但是,此重写会禁用控件上的上下文菜单服务,这些服务是默认行为的一部分 Control

适用于