私はしばらくの間WPFを使用していて、オフィススイートの気の利いたUI機能のいくつかを再現しようとしています。WPFは非常に簡単ですが、MFC機能パックを使用してどのように実行できるのか疑問に思っています(私の会社はまだWPFの使用を承認していないため、代わりに使用する必要があるかもしれません)。FluentUIはOffice2007で導入されたので、Microsoftが実際にVS2010またはExpression Blend以外で、特にOffice2010でWPFを使用しているかどうか疑問に思っています。この質問が話題から外れていないことを願っています。
3 に答える
Office2010はWPFを使用しません。実際、MFCも使用していません。Officeは従来からカスタムUIツールキットを使用してきましたが、これはリボンが作成される前から当てはまりました。ただし、UIプラットフォームとしてのWPFの実行可能性を確保するには、主要なファーストパーティアプリケーションが1つだけ必要です。これは、そのアプリケーションがVisual Studioである場合に特に当てはまります。これは、毎日何万人ものMicrosoft従業員がVisualStudioを使用しているためです。
ただし、これは、WPFがリボンで使用するのに最適なUIテクノロジであることを意味するものではありません。Microsoft WPFリボンは、私がテストしたすべての主要な商用マネージコードリボン(WPFまたはWinforms)と同様に、多くのコーナーケースを誤って処理します。Officeリボンを複製することは非常に困難です。予測が難しく、ユーザーがコーナーケースに遭遇したときにのみ現れる微妙な点がたくさんあります。
Officeリボンは200人年以上の作業を要し、数万人のベータテスターによって実行されました。(Jensen HarrisはUX09で、OfficeUIチームの数はPM15人、開発者30人、テスター30人、デザイナーとUI研究者6人と推定しています。)これは、最もテストされたリボンですが、残念ながら、Microsoft以外の開発者のものです。使用できません。
2番目に信頼性の高いリボンフレームワークは、おそらくWindows 7リボンであり、PaintとWordPadで使用されます。これはWindows7SDKで利用可能であり、Vistaにバックポートされています。ネイティブコードとGDIであるため、C++開発者を対象としています。また、MFCに関連付けられていないことに注意してください。
私の知る限り、WPFは一切使用していません。実際、その多くはまだC++で書かれています。実際、MicrosoftがWPFでリリースした「大きな」アプリケーションは、VisualStudio2010とExpressionBlendだけです。
WPF(.NET Frameworkを使用)は、win32とcom(direct2dなど)の単なるレイヤーであり、MFCは言うまでもなく、すべての古いC++からアクセスできます。彼らはすでに2007年からC++ですべてのリボンコードを持っていたので、2010年のインターフェースを作るのは難しくありません。
あなたが尋ねていると思う質問に答えるために、いいえ、OfficeはWPFを使用しません。VisualStudioのみがそれを使用します。