我正在寻找一个简单的示例,使用c#调用EnvDTE.Window类的SetSelectionContainer方法。

我想知道应该传递给该方法的类的外观。

我已经在网上搜索了好几天,甚至找不到任何远程帮助。

Window window = _applicationObject.ItemOperations.NewFile(@"General\XML File", "", "");
TextSelection selection = (TextSelection) window.Document.Selection;
selection.SelectAll();
selection.Insert("<xml>some xml<xml>", (int)vsInsertFlags.vsInsertFlagsContainNewText);

object[] container = new[] {"Test1", "Test2"};
window.SetSelectionContainer(ref container);

最佳答案

设置应传递到“属性”窗口的对象
  只要窗口具有焦点。 SetSelectionContainer仅适用于
  用CreateToolWindow方法创建的窗口。其他工具窗口
  例如解决方案资源管理器和任务列表,已经具有用于设置的代码
  “属性”窗口中显示的内容。
  
  SetSelectionContainer
  允许您将对象与窗口关联,以便每当
  窗口具有焦点,“属性”窗口显示这些属性
  对象。例如,如果您有一个自定义
  显示图表并要显示属性的工具窗口
  在“属性”窗口中,以更改
  图表。
  
  如果SetSelectionContainer传递了一个空的Variant值,则它将
  删除显示的对象。在工具窗口中显示对象
  处于活动状态,并且可以从选择容器中获得对象。


Ref

您是否从这里下载了示例?:Automation and Extensibility for Visual Studio

关于c# - SetSelectionContainer示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8499333/

10-10 13:21