如何在 VSIX 对话框页中创建文件选取器选项?



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

如果要

在选项页中承载用户创建的控件,可以通过重写 DialogPage 子类的 Window 属性来实现:

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

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

然后,根据它是WPF还是Winform,使用更好的文件选取器GUI制作UserControl,例如返回IWin32Window实现的OpenFileDialog控件。

参见参考文献

最新更新