【问题标题】:Visual Studio SDK - Handle mouse events for marginsVisual Studio SDK - 处理边距的鼠标事件
【发布时间】:2015-08-27 23:13:58
【问题描述】:

有没有办法覆盖与 Visual Studio IDE 边距相关的鼠标事件?我查看了IMouseProcessorProvider 界面,但它似乎只适用于与代码编辑器窗口连接的鼠标事件。例如:

public override void PostprocessMouseLeftButtonDown(MouseButtonEventArgs e)
{
    MyMethod();
}

MyMethod 仅在我单击代码编辑器窗口中某处的左按钮时才被调用。我希望在单击边距后调用它。我该如何实现?

【问题讨论】:

  • 这在理论上是可能的,因为 Visual Studio 主要是基于 WPF。您需要做的就是获取 WPF 可视元素 (UIElement) 作为边距,然后您可以将事件侦听器附加到 PreviewMouse* 事件。
  • 谢谢@Cameron。多亏了你,我找到了解决方案 - 我能够获取自定义字形的 UIElement 对象,然后处理我感兴趣的鼠标事件。

标签: visual-studio-extensions vsix vs-extensibility visual-studio-sdk


【解决方案1】:

我设法找到了解决方案 - 在单击边距上的自定义字形后,我对调用 MyMethod 很感兴趣,因此我获取了代表字形的 UIElement 对象(来自我的字形工厂类),然后我能够实现 MouseLeftButtonDown事件。

【讨论】:

猜你喜欢
  • 2012-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-03
  • 2018-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多