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