14

我已经使用 WPF 一段时间了,我正在尝试重现他们办公套件的一些漂亮的 UI 功能。虽然在 WPF 中很容易,但我想知道如何使用 MFC 功能包来完成它(我可能不得不使用它,因为我的公司尚未批准使用 WPF)。由于 Fluent UI 是在 Office 2007 中引入的,我想知道微软是否真的在 VS2010 或 Expression Blend 之外的任何东西中使用 WPF,尤其是在 Office 2010 中。我希望这个问题不是题外话。

4

3 回答 3

23

Office 2010 不使用 WPF。事实上,它也不使用 MFC。Office 传统上使用自定义 UI 工具包,甚至在功能区出现之前也是如此。但是,您只需要一个主要的第一方应用程序即可确保 WPF 作为 UI 平台的可行性。当该应用程序恰好是 Visual Studio 时尤其如此,因为每天有成千上万的 Microsoft 员工使用 Visual Studio。

但这并不意味着 WPF 是与功能区一起使用的最佳 UI 技术。Microsoft WPF 功能区错误地处理了许多极端情况,我测试过的所有主要商业托管代码功能区(WPF 或 Winforms)也是如此。复制 Office 功能区非常困难——有很多难以预料的细微之处,只有在用户遇到极端情况时才会出现。

Office Ribbon 历经 200 多人年的工作,并由数以万计的 beta 测试人员使用。(Jensen Harris 在 UX09 估计,Office UI 团队约有 15 名 PM、30 名开发人员、30 名测试人员,以及六名设计师和 UI 研究人员。)这是目前测试最好的功能区,但不幸的是,它是微软以外的开发人员不能使用。

第二最可靠的功能区框架可能是画图和写字板使用的 Windows 7 功能区。这个在 Windows 7 SDK 中可用,并已向后移植到 Vista。本机代码和 GDI,因此它面向 C++ 开发人员。请注意,它也没有绑定到 MFC。

于 2011-05-12T01:13:19.833 回答
5

据我所知,它不以任何方式使用 WPF。事实上,其中大部分仍然是用 C++ 编写的。实际上,微软在 WPF 中发布的唯一“大”应用程序是 Visual Studio 2010 和 Expression Blend。

于 2011-05-09T19:25:12.800 回答
-3

您确实意识到 WPF(使用 .NET 框架)只是 win32 和 com(direct2d 等)的一个层,所有这些都可以从普通的旧 C++ 访问,更不用说 MFC。从 2007 年起,他们就已经在 C++ 中编写了所有功能区代码,因此制作 2010 界面并不难。

要回答您认为您要问的问题,不,Office 不使用 WPF。只有 Visual Studio 使用它。

于 2011-05-09T19:26:26.767 回答