【问题标题】:FolderBrowserDialog in wpf c#wpf c#中的FolderBrowserDialog
【发布时间】:2011-10-01 15:08:48
【问题描述】:

我正在使用System.Windows;System.Windows.Controls;,所以我不能使用System.Windows.Forms;,因为有很多控件,如消息框和列表框...等它们之间很常见是否有另一种解决方案来获取没有文件夹浏览器对话框使用System.Windows.Forms; 或者是否有任何获取文件夹位置对话框?

【问题讨论】:

    标签: c# wpf folderbrowserdialog


    【解决方案1】:

    有关示例代码,请参阅我对Select folder dialog WPF 的回答。如果您需要文件夹浏览器,基本上Windows Presentation Foundation 4.5 Cookbook 建议您使用Windows® API Code Pack for Microsoft® .NET Framework

    【讨论】:

    • 这似乎是互联网上唯一没有提出包括 WPF 项目中的 WinForms 在内的罪恶感的答案。您可能应该更新您的答案以包括它的一些用法,如下所示: using (Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog dbd = new Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog() { IsFolderPicker = true })
    【解决方案2】:

    您可以使用FolderBrowserDialog;要么明确地将命名空间放在类的前面......

    System.Windows.Forms.FolderBrowserDialog browse = new System.Windows.Forms.FolderBrowserDialog();
    

    ...或 create an alias 关于您的命名空间。

    Imports [ aliasname = ] namespace
    

    【讨论】:

    • 我在 browse.ShowDialog() 中遇到了这个异常,异常是当前线程必须设置为单线程单元 (STA) 模式,然后才能进行 OLE 调用。确保您的 Main 函数上标记了 STAThreadAttribute。仅当将调试器附加到进程时才会引发此异常。
    • @salamonti 看起来一切正常;如果您接受了答案,请告诉我您是否仍需要帮助。
    • 不知道为什么,但你上面的代码有 FolderDialoespaceg();应该是 new System.Windows.Forms.FolderBrowserDialog();
    • 这种方法的主要问题是它引入了对 System.Windows.Forms 程序集引用的需求,然后会无意中邀请其他开发人员开始使用 WinForms 功能,例如 MessageBox 等。
    • @jpierson 是对的,在 WPF 项目中使用 WinForms 真的不好!
    【解决方案3】:

    我在 WPF 中使用 FolderBrowserDialog 和 listBox 时也遇到过这种情况。

    因为我们使用WPF,所以需要添加winform组件“FolderBrowserDialog”。

    • 右键单击项目名称或引用,然后选择“添加引用”
    • 选择 .Net 选项卡并浏览 System.Windows.Forms

    所以现在您可以在 WPF 中使用 FolderBrowserDialog。

    private FolderBrowserDialog openFolder = new FolderBrowserDialog();
    

    这是我博客上一篇文章的链接,其中包含图片和简短说明 http://syumulnetwork.blogspot.com/2011/09/myth-self-note-5-c-wpf.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多