【问题标题】:How to use the ribbon in my .NET applications?如何在我的 .NET 应用程序中使用功能区?
【发布时间】:2009-06-15 22:30:26
【问题描述】:

这是写字板在 Windows 7 中的样子:


(来源:gawker.com

丝带也在油漆中。这使我认为功能区“隐藏”在我可以导入到我的 C# 应用程序的 dll 文件中的某个位置。这是真的?如果不是,微软是如何制作丝带的。

是的,我知道已经有公司为 C# 制作了功能区,但我只想使用 P/Invoke 将其添加到我的应用程序中。

【问题讨论】:

    标签: c# windows-7 ribbon wordpad


    【解决方案1】:

    正如 Matthew Flaschen 所述,您可以从 CodePlex 下载 WPF Ribbon Control 的 CTP。但是,需要指出的是,目前这非常不完整。我最近试了一下,发现它还不错,但相当有问题。

    在 .NET 4.0 发布之前,您将无法正确使用 WPF 功能区控件(至少在其全部范围内)。我不确定它是否包含在当前的 Beta 1 中,但它应该(几乎)肯定是最终版本中核心 WPF 库的一部分。就功能而言,这应该更加稳定和完整。该功能集是否与 Microsoft Office 功能区相匹配是另一个问题 - 在我看来,这是值得怀疑的,尽管您可能希望 WPF 本质上提供某种可扩展性。

    更新:确实,.NET Framework 4.0 的Beta 1 release 详细说明了包含 WPF 功能区控件的信息(在概述部分中)。值得一试,因为我强烈怀疑它比 CodePlex 上的要先进得多。

    【讨论】:

    • 更新:您引用的用于 Winforms 的 WindowsRibbon 控件(您可以在 windowsribbon.codeplex.com 获得)现在更加完整并且可以正常工作。它是实现 Windows7 Ribbon UI 的 COM 对象的包装器。
    【解决方案2】:

    您可以使用WPF wrapper

    【讨论】:

      【解决方案3】:

      据我所知,除了 Visual Studio 2008 Feature Pack 中的 C++ 版本之外,没有可以在自己的应用程序中使用的 Microsoft 版本。

      您可以使用多种 .Net 实现(主要来自第三方供应商)。 Microsoft 已针对在您的应用程序中使用功能区/Office UI 的概念强加了licensing condition,您也应该注意这一点。

      【讨论】:

        【解决方案4】:

        您想查看“Windows API Code Pack”,它为许多 Windows API 提供托管包装器。

        Windows 7 功能区 API 也有其 own page,这可能会对您的探索有所帮助。

        【讨论】:

          【解决方案5】:

          这些是用于在写字板和画图中创建功能区的 Windows 7 特定 API。它们并不是真正的“隐藏”。有大量的文档,但最好的材料是在 MSDN 上的一些视频中找到的(我认为是在 Channel9 上)。

          显然,这些在早期版本的 Windows 中不可用。我希望看到消费者迅速采用 Windows 7,但如果您需要在短期内瞄准更广泛的受众,您现在可能需要考虑其他一些选项。

          【讨论】:

          • 我是一名 beta 测试人员,这就是为什么我想看看是否可以在我的应用中使用功能区。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-02-14
          • 2010-11-27
          • 2016-09-26
          • 1970-01-01
          • 1970-01-01
          • 2023-04-11
          • 1970-01-01
          相关资源
          最近更新 更多