如何在VSIX DialogPage中创建文件选择器选项?

时间:2018-07-09 08:31:48

标签: c# visual-studio-2017 vsix

我正在为Visual Studio 2017创建扩展。我需要一个选项来选择目录。我创建了一个带有字符串选项的DialogPage,如https://msdn.microsoft.com/en-us/library/bb166195.aspx所示。它运行良好,但并非用户友好。 我想将其替换为文件选择器,但不知道如何在DialogPage中进行操作。我该怎么办?

1 个答案:

答案 0 :(得分:0)

  

如果要在选项页面中托管用户创建的控件,可以通过覆盖DialogPage子类的Window属性来实现:

[BrowsableAttribute(false)] 
protected override IWin32Window Window { 
get { return MyUserControl; } 
}
  

对该属性的引用应返回对实现窗口的工作区的IWin32Window对象的引用。 Visual Studio要求其选项页必须是恒定的,即不应为任何后续调用重新创建它们。由于Windows窗体对象可以随意删除和重新创建其窗口句柄,因此我们建议传递对从UserControl类型派生的对象的引用。

然后取决于是WPF还是Winform 制作一个具有更好文件选取器GUI的UserControl,例如,一个返回IWin32Window实现的OpenFileDialog控件。

See the Ref