0

我目前正在开发一个 Visual Studio 扩展,它需要在触发 menuCommand 后打开一个 WPF 表单。

我想相对于插入符号位置打开表单,所以我需要获取插入符号的像素位置。我已经检查了这篇文章

但它没有用。

请帮忙?

4

1 回答 1

2

一旦你有一个 IWpfTextView,你可以这样做view.TextViewLines.GetCaretBounds(view.Caret.Position.BufferPosition)会给你在“文本坐标系”中的位置。通过 view.ViewportTop/view.ViewportLeft 调整应该为您提供相对于 UIElement 的位置,即视图。从那里, view.VisualElement.PointToScreen 可能会将其获取到屏幕坐标。

我假设您已经发现您不想将此 UI 直接嵌入到编辑器中?因为那(稍微)容易些。

于 2013-07-30T03:08:43.363 回答