我目前正在开发一个 Visual Studio 扩展,它需要在触发 menuCommand 后打开一个 WPF 表单。
我想相对于插入符号位置打开表单,所以我需要获取插入符号的像素位置。我已经检查了这篇文章
但它没有用。
请帮忙?
我目前正在开发一个 Visual Studio 扩展,它需要在触发 menuCommand 后打开一个 WPF 表单。
我想相对于插入符号位置打开表单,所以我需要获取插入符号的像素位置。我已经检查了这篇文章
但它没有用。
请帮忙?
一旦你有一个 IWpfTextView,你可以这样做view.TextViewLines.GetCaretBounds(view.Caret.Position.BufferPosition)
会给你在“文本坐标系”中的位置。通过 view.ViewportTop/view.ViewportLeft 调整应该为您提供相对于 UIElement 的位置,即视图。从那里, view.VisualElement.PointToScreen 可能会将其获取到屏幕坐标。
我假设您已经发现您不想将此 UI 直接嵌入到编辑器中?因为那(稍微)容易些。