这是写字板在 Windows 7 中的样子:
(来源:gawker.com)
丝带也在油漆中。这使我认为功能区“隐藏”在我可以导入到我的 C# 应用程序的 dll 文件中的某个位置。这是真的?如果不是,微软是如何制作丝带的。
是的,我知道已经有公司为 C# 制作了功能区,但我只想使用 P/Invoke 将其添加到我的应用程序中。
这是写字板在 Windows 7 中的样子:
(来源:gawker.com)
丝带也在油漆中。这使我认为功能区“隐藏”在我可以导入到我的 C# 应用程序的 dll 文件中的某个位置。这是真的?如果不是,微软是如何制作丝带的。
是的,我知道已经有公司为 C# 制作了功能区,但我只想使用 P/Invoke 将其添加到我的应用程序中。
正如 Matthew Flaschen 提到的,您可以从 CodePlex 下载 WPF Ribbon Control 的 CTP。但是,需要指出的是,这目前非常不完整。我最近试了一下,发现它很不错,但相当有问题。
在 .NET 4.0 发布之前,您将无法正确使用 WPF 功能区控件(至少在其全部范围内)。我不确定它是否包含在当前的 Beta 1 中,但它应该(几乎)肯定是最终版本中核心 WPF 库的一部分。就功能而言,这应该更加稳定和完整。该功能集是否与 Microsoft Office 功能区相匹配是另一个问题——在我看来,这是值得怀疑的,尽管您可能希望 WPF 本质上提供某种可扩展性。
更新:事实上,.NET Framework 4.0 的Beta 1 版本(在概述部分)详细说明了包含 WPF 功能区控件。值得一试,因为我强烈怀疑它比 CodePlex 上的要先进得多。
您可以使用WPF 包装器。
根据我的阅读,除了作为Visual Studio 2008 Feature Pack一部分的 C++ 版本之外,没有可以在您自己的应用程序中使用的 Microsoft 版本。
您可以使用多种 .Net 实现(主要来自第三方供应商)。Microsoft 对在您的应用程序中使用功能区/Office UI 的概念施加了许可条件,您也应该注意这一点。
您想查看“ Windows API 代码包”,它为许多 Windows API 提供托管包装器。
Windows 7 功能区 API 也有自己的页面,这可能会帮助您完成任务。
这些是用于在写字板和画图中创建功能区的 Windows 7 特定 API。它们并不是真正的“隐藏”。有大量的文档,但最好的材料是在 MSDN 上的一些视频中找到的(我认为是在 Channel9 上)。
显然,这些在早期版本的 Windows 中不可用。我希望看到消费者迅速采用 Windows 7,但如果您需要在短期内瞄准广泛的受众,您现在可能需要考虑其他一些选项。