如何在我的.NET应用程序中使用功能区?

问题描述 投票:1回答:5

这就是WordPad在Windows 7中的样子:

(来源:gawker.com

色带也在油漆中。这让我觉得功能区是“隐藏”在dll文件中的某个地方,我可以导入到我的C#应用​​程序中。这是真的?如果没有,微软是如何制作功能区的。

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

c# windows-7 ribbon wordpad
5个回答
8
投票

正如Matthew Flaschen所提到的,您可以从CodePlex下载WPF功能区控件的CTP。但是,重要的是要指出这目前非常不完整。我最近试了一下,发现它很不错,但是很不错。

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

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


3
投票

你可以使用WPF wrapper


2
投票

根据我的阅读,除了作为Visual Studio 2008 Feature Pack一部分的C ++版本之外,没有可以在自己的应用程序中使用的Microsoft版本。

您可以使用几种.Net实现(主要来自第三方供应商)。微软已经强制使用licensing condition在你的应用程序中使用功能区/ Office UI的概念,你也应该知道。


1
投票

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

Windows 7 Ribbon API也有他们的own page,这可能会帮助您完成任务。


1
投票

这些是Windows 7特定的API,用于在写字板和画图中创建色带。它们并非真正“隐藏”。有相当数量的文档,但在MSDN上的一些视频中找到了最好的材料(我想在Channel9上)。

显然,这些将不会在早期版本的Windows上提供。我希望看到消费者迅速采用Windows 7,但如果您需要短期定位广泛的受众,您可能需要立即考虑其他一些选项。

© www.soinside.com 2019 - 2024. All rights reserved.