ContentElement.MouseLeftButtonDown 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当鼠标指针位于此元素上时按下鼠标左键时发生。
public:
virtual event System::Windows::Input::MouseButtonEventHandler ^ MouseLeftButtonDown;
public event System.Windows.Input.MouseButtonEventHandler MouseLeftButtonDown;
member this.MouseLeftButtonDown : System.Windows.Input.MouseButtonEventHandler
Public Custom Event MouseLeftButtonDown As MouseButtonEventHandler
事件类型
实现
注解
尽管此 路由事件概述 似乎遵循通过元素树的浮泡路由,但它实际上是由每个 ContentElement元素树引发和重新引发的直接路由事件。
此事件是报告基础 Mouse.MouseDown 事件的鼠标按钮特定事件的几个相关事件之一,该事件是由事件路由上的每个元素处理的附加事件。
此事件的自变量公开基础 Mouse.MouseDown 事件的自变量。 如果该事件标记为沿事件路由进行处理,则仍会引发鼠标按钮特定的事件;但是,必须通过显式调用 AddHandler添加鼠标按钮特定事件的处理程序,并可以选择处理已标记为已处理的事件,以便成为事件的侦听器。
从概念上讲,将此事件(和其他鼠标按钮事件) ContentElement视为鼠标“服务”(类提供的服务 Mouse 定义)。 该事件增加了不需要检查事件数据中原始鼠标事件的鼠标按钮状态(左-右、向上)的便利性。 对于更高级的方案(例如检查非标准按钮的状态),可能需要在 Mouse 类上使用 API,而不是在类上使用 ContentElementAPI。
Important
例如,一些 ContentElement 具有类似控件行为的 Hyperlink派生类可能具有鼠标按钮事件的固有类处理。 鼠标左键向下事件是最有可能在控件中处理类的事件。 类处理通常将基础 Mouse 类事件标记为已处理。 事件标记为处理后,通常不会引发附加到该元素的其他实例处理程序。 通常也不会引发附加到 UI 树中根的浮泡方向元素的任何其他类或实例处理程序。
可以解决上述“重要提示”中概述的问题,并且仍然接收 MouseLeftButtonDown 派生类上具有类处理的派生类上的鼠标按钮向下事件的事件,方法是使用以下任一解决方案:
附加事件的处理程序,该事件 PreviewMouseDown 未标记为控件处理。 请注意,由于这是预览事件,因此路由从根目录开始,并向下隧道连接到控件。
通过调用 AddHandler 并选择签名选项以程序方式在控件上注册处理程序,使处理程序能够侦听事件,即使这些事件已在路由事件数据中标记为已处理。
路由事件信息
| 项目 | 价值 |
|---|---|
| 标识符字段 | MouseLeftButtonDownEvent |
| 路由策略 | 直接 |
| 代理 | MouseButtonEventHandler |
- 重写 OnMouseLeftButtonDown 以在派生类中实现此事件的类处理。