web-dev-qa-db-ja.com

WPFまたはWindowsフォーム

私は約1年間C#コンソールアプリケーションをいじっていましたが、GUIアプリケーションの作成に移りたいと思います。基本的なJavaアプリケーション以外にGUI開発を行ったことはありませんが、C#の使用を継続したいです。Windowsフォームの学習を開始するか、WPFに直接ジャンプする必要がありますか?大きな違いはありますか? Windowsフォームの上にあるのですか、それともまったく違うのですか?

73
Juice

始めたばかりの場合は、WPFに直接ジャンプしてください。

これにより、Windowsフォームから学習する可能性のある悪い習慣(WPFの場合)を教えることなく、マークアップを使用してリッチインターフェイスの作成を開始し、インターフェイスを定義できます。

71
Justin Niessner

どちらのテクノロジーにも長所と短所があります。

WPFは、クロスプラットフォーム開発および「派手な」GUIの作成に適しています。ただし、WinFormsよりも新しい.netフレームワークが必要で、dx9互換のGPU以上が必要です(ほとんどの人が持っています)。

しかし、インターフェースを作成したり、すべてのイベントを結び付けたりするのは少し複雑です。

WinFormsは依然として強力な技術であり、多くの場合、WPFよりも速いペースで開発できますが、最終的には、 両方のテクノロジーを使用して同じことを達成できます。 ただし、WPFは「新しい」標準です。

WinFormsは一般にビジネスアプリケーションの開発に使用されますが、WPFは多くの場合、エンドユーザーベースのソフトウェア、アプリなどを作成するために使用されます。

9
jasttim

WPFは、非常に複雑なユーザーインターフェイスを構築するための非常に豊富な機能を提供します。インターフェイスでのハードウェアアクセラレーショングラフィックスの統合を簡素化します。ただし、Visual Studio WPFデザイナーは非常に悪いです(ほとんど使用しません)。また、WPFははるかに複雑であり、開始するのがより難しいと思います。しかし、これはもちろん主観的です。

4
n535