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