【问题标题】:How do I implement an address location bar (bread crumb control) similar to that in Windows Vista's File Explorer?如何实现类似于 Windows Vista 文件资源管理器中的地址位置栏(面包屑控件)?
【发布时间】:2010-09-17 08:57:40
【问题描述】:

Windows Vista 中的资源管理器控件非常方便,我希望能够将它合并到用 WPF 编写的应用程序中。我一直找不到作为框架一部分的库存控制。此应用程序是专门为 Windows Vista 开发的,因此具有与操作系统相同的外观和感觉是可取的。

可以使用Microsoft.Win32.OpenFileDialog,但问题是它看起来不像Vista,所以它像拇指一样突出。

任何关于良好实施的想法都会非常有帮助。如果可能,我想远离第三方组件,但绝对愿意接受所有建议。

【问题讨论】:

  • 不确定标题与消息的关系...您是在寻找资源管理器“面包屑”控件还是使用 Vista 风格的常用对话框(或两者兼有)的方法?
  • 我正在寻找在 WPF 应用程序中显示 Vista 资源管理器控件的“本机”方式。目前,看起来选项可能是 p/invoke 或与第三方一起使用。

标签: wpf windows-vista controls


【解决方案1】:

冒着自私自利的风险,您可以在这里找到最好的 WPF 面包屑控件:

http://www.teraque.com/Products/Explorer-Chrome-Suite

我花了一年时间尝试对 Window 的 Vista 控件进行逆向工程,因为没有一个现成的产品提供正确的外观和感觉。您迟早会遇到上述所有建议的限制。而且,我自己也经历过,我可以告诉你,尝试自己开发控件将需要几个月的时间。仅围绕溢出逻辑的怪事就足以让它们吃掉两个月的时间。

祝你好运。如果有什么我可以为您解答的,请随时与我联系。

唐纳德·罗伊·艾雷

Donald.Roy.Airey@teraque.com

【讨论】:

    【解决方案2】:

    如果您正在为 .net Framework 3.5 进行编码,则调用通用对话框应该会显示正确的 Vista 时代对话框。


    对不起,看来我弄错了。在之前的项目中,我使用this library 来调用Vista 对话框。

    【讨论】:

    • 你试过了吗?显示的控件是一个看起来像 XP 的控件。
    • 我刚刚做了,但我忘记了上次需要这些时我使用了一个库。更新了答案。
    【解决方案3】:

    我的博客上有一个 Microsoft.Win32 文件对话框的替代品,它为您提供了 Vista 外观,没有 VistaBridge 的复杂性,并且还向后兼容 XP。

    http://www.nbdtech.com/blog/archive/2008/07/15/Vista-style-open-and-save-dialogs-with-WPF-without-using.aspx

    【讨论】:

      【解决方案4】:

      我还没有尝试过,但请看VistaBridge...它为您提供了所有 Vista 外观对话框!

      【讨论】:

      • 看起来 VistaBridge 代码已更新。这种方法对我有用。这有点混乱,但似乎是向 Win7 可能提供的一个很好的过渡。 code.msdn.microsoft.com/VistaBridge
      • 目前VistaBridge是最好的选择!
      【解决方案5】:

      Actipro 是一个非常好的 WPF 面包屑控件。还有一个open source WPF breadcrumb control,我可能会尝试一下。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-11
        • 2010-12-30
        • 1970-01-01
        相关资源
        最近更新 更多