C# 在WPF应用程序中使用FolderBrowserDialog

C# 在WPF应用程序中使用FolderBrowserDialog,c#,.net,wpf,folderbrowserdialog,windowsformsintegration,C#,.net,Wpf,Folderbrowserdialog,Windowsformsintegration,我有一个WPF应用程序,我需要让用户访问其中的目录。我一直在寻找如何将windows窗体集成到WPF中的方法,并找到了如何将窗体控件集成到xaml中的各种信息,但是,集成FolderBrowserDialog 我是一名经验丰富的程序员,但对.net非常陌生(事实上是第二天),我相信我找不到关于实现此功能的好信息,因为我无法确定FolderBrowserDialog的名称/类型 请帮忙。谢谢 -大卫 哦,我使用的是c#和Visual Studio 2008,如果我没有弄错的话,您正在寻找(因此命名

我有一个WPF应用程序,我需要让用户访问其中的目录。我一直在寻找如何将windows窗体集成到WPF中的方法,并找到了如何将窗体控件集成到xaml中的各种信息,但是,集成FolderBrowserDialog

我是一名经验丰富的程序员,但对.net非常陌生(事实上是第二天),我相信我找不到关于实现此功能的好信息,因为我无法确定FolderBrowserDialog的名称/类型

请帮忙。谢谢 -大卫


哦,我使用的是c#和Visual Studio 2008,如果我没有弄错的话,您正在寻找(因此命名):


另请参见此SO线程:

您需要添加对System.Windows.Forms.dll的引用,然后使用


使用WinForms=System.Windows.Forms添加
会有帮助。

我尝试过这个方法,但不幸的是,我遇到了以下错误:错误1名称空间“System.Windows”中不存在类型或名称空间名称“Forms”(是否缺少程序集引用?)@David:正如我所说,您需要添加对System.Windows.Forms.dll的引用。不幸的是,它给了我同样的错误。@david:这意味着您没有添加引用。右键单击项目,然后单击添加引用。使用WinForms=System.Windows.Forms;确实帮助我避免了模棱两可的引用。非常感谢。使用var作为类型会在C#中为我生成一个错误,并用FolderBrowserDialog替换它,正如我在其他地方看到的那样,会生成一个缺少的指令错误,即使是System.Windows.Forms.FolderBrowserDialog指令。我还有什么地方做错了吗?我将立即查看该链接。谢谢这应该行得通-正如SLaks指出的,您需要在项目中添加对System.Windows.Forms.dll的引用。您还应该检查结果。例如:如果(dialog.ShowDialog()==System.Windows.Forms.DialogResult.OK){string path=dialog.SelectedPath;}引用中的任何内容实际上都不起作用(引用中缺少类),但这对我来说非常有效。
var dialog = new System.Windows.Forms.FolderBrowserDialog();
System.Windows.Forms.DialogResult result = dialog.ShowDialog();