Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 在visual studio中获得插入符号位置';编辑_Visual Studio_Visual Studio Extensions_Vspackage - Fatal编程技术网

Visual studio 在visual studio中获得插入符号位置';编辑

Visual studio 在visual studio中获得插入符号位置';编辑,visual-studio,visual-studio-extensions,vspackage,Visual Studio,Visual Studio Extensions,Vspackage,我目前正在开发一个VisualStudio扩展,它需要在启动menuCommand后打开一个WPF表单 我想相对于插入符号位置打开表单,所以我需要得到插入符号的像素位置。 我查过了 但它不起作用 请提供帮助?一旦您获得了IWPTextView,您就可以执行查看.TextViewLines.GetCaretBounds(view.Caret.Position.BufferPosition),这将为您提供“文本坐标系”中的位置。按view.ViewportTop/view.ViewportLeft进

我目前正在开发一个VisualStudio扩展,它需要在启动menuCommand后打开一个WPF表单

我想相对于插入符号位置打开表单,所以我需要得到插入符号的像素位置。 我查过了

但它不起作用


请提供帮助?

一旦您获得了IWPTextView,您就可以执行
查看.TextViewLines.GetCaretBounds(view.Caret.Position.BufferPosition)
,这将为您提供“文本坐标系”中的位置。按view.ViewportTop/view.ViewportLeft进行调整时,应给出相对于作为视图的UIElement的位置。从那里,view.VisualElement.PointToScreen可能会得到屏幕坐标


我想你已经知道你不想把这个UI直接嵌入编辑器了吧?因为这(稍微)容易些。

嗨,杰森,非常感谢你的回复!您能帮我获取活动文档的IWPTextView吗?(不是projectItem),此外,将UI直接嵌入到编辑器是什么意思?