【发布时间】:2009-06-15 22:30:26
【问题描述】:
这是写字板在 Windows 7 中的样子:
(来源:gawker.com)
丝带也在油漆中。这使我认为功能区“隐藏”在我可以导入到我的 C# 应用程序的 dll 文件中的某个位置。这是真的?如果不是,微软是如何制作丝带的。
是的,我知道已经有公司为 C# 制作了功能区,但我只想使用 P/Invoke 将其添加到我的应用程序中。
【问题讨论】:
标签: c# windows-7 ribbon wordpad
这是写字板在 Windows 7 中的样子:
(来源:gawker.com)
丝带也在油漆中。这使我认为功能区“隐藏”在我可以导入到我的 C# 应用程序的 dll 文件中的某个位置。这是真的?如果不是,微软是如何制作丝带的。
是的,我知道已经有公司为 C# 制作了功能区,但我只想使用 P/Invoke 将其添加到我的应用程序中。
【问题讨论】:
标签: c# windows-7 ribbon wordpad
正如 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 上的要先进得多。
【讨论】:
您可以使用WPF wrapper。
【讨论】:
据我所知,除了 Visual Studio 2008 Feature Pack 中的 C++ 版本之外,没有可以在自己的应用程序中使用的 Microsoft 版本。
您可以使用多种 .Net 实现(主要来自第三方供应商)。 Microsoft 已针对在您的应用程序中使用功能区/Office UI 的概念强加了licensing condition,您也应该注意这一点。
【讨论】:
您想查看“Windows API Code Pack”,它为许多 Windows API 提供托管包装器。
Windows 7 功能区 API 也有其 own page,这可能会对您的探索有所帮助。
【讨论】:
这些是用于在写字板和画图中创建功能区的 Windows 7 特定 API。它们并不是真正的“隐藏”。有大量的文档,但最好的材料是在 MSDN 上的一些视频中找到的(我认为是在 Channel9 上)。
显然,这些在早期版本的 Windows 中不可用。我希望看到消费者迅速采用 Windows 7,但如果您需要在短期内瞄准更广泛的受众,您现在可能需要考虑其他一些选项。
【讨论】: