【发布时间】:2013-07-29 19:31:06
【问题描述】:
我目前正在开发一个 Visual Studio 扩展,它需要在触发 menuCommand 后打开一个 WPF 表单。
我想相对于插入符号位置打开表单,所以我需要获取插入符号的像素位置。 我检查了This article
但是没有用。
请帮忙?
【问题讨论】:
标签: visual-studio visual-studio-extensions vspackage
我目前正在开发一个 Visual Studio 扩展,它需要在触发 menuCommand 后打开一个 WPF 表单。
我想相对于插入符号位置打开表单,所以我需要获取插入符号的像素位置。 我检查了This article
但是没有用。
请帮忙?
【问题讨论】:
标签: visual-studio visual-studio-extensions vspackage
获得 IWpfTextView 后,您可以执行 view.TextViewLines.GetCaretBounds(view.Caret.Position.BufferPosition),这将为您提供“文本坐标系”中的位置。通过 view.ViewportTop/view.ViewportLeft 调整应该为您提供相对于 UIElement 的位置,即视图。从那里,view.VisualElement.PointToScreen 可能会将其获取到屏幕坐标。
我假设您已经确定不想将此 UI 直接嵌入到编辑器中?因为那(稍微)容易些。
【讨论】: