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