UIElement.OnMouseRightButtonDown(MouseButtonEventArgs) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当某个未处理的 MouseRightButtonDown 路由事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。
protected:
virtual void OnMouseRightButtonDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected virtual void OnMouseRightButtonDown (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnMouseRightButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnMouseRightButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Overridable Sub OnMouseRightButtonDown (e As MouseButtonEventArgs)
参数
包含事件数据的 MouseButtonEventArgs。 事件数据报告称已按下鼠标右键。
注解
事件 MouseRightButtonDown 看起来是一条冒泡路线,但实际上是间接的。
Mouse.MouseDown 是气泡路由的基础事件,沿事件路由的每个 UIElement 都使用相同的处理来引发直接路由事件 MouseRightButtonDown。 尽管可以出于此元素的目的将 MouseRightButtonDown 事件标记为已处理,但已处理的状态不会永久延续到事件路由中的其他元素。 但是,你可能希望将事件标记为已处理,以防止常规实例处理程序 (未指定 handledEventsToo
) 处理程序被调用。
中 UIElement 常规鼠标事件处理的默认实现侦听 Mouse.MouseDown 并将其转换为适当的本地事件。 如果要重写此逻辑,则必须创建派生类。 在派生类的静态构造函数中,为 Mouse.MouseDown注册备用类处理程序。 不能通过重写 OnMouseRightButtonDown来更改 的UIElement鼠标处理行为。
或者,可以重写此方法,以更改特定鼠标状态的事件处理。 是否选择调用基实现取决于你的方案。 未能调用 base 将禁用对同样需要调用 OnMouseRightButtonDown的上级类上的该鼠标事件的默认输入处理。 例如,可以在派生类中从 Control 派生类派生并重写 OnMouseRightButtonDown ,而无需调用 base;但是,此重写会禁用控件上的上下文菜单服务,这些服务是默认行为的一部分 Control 。