114

長い間、私は Windows フォーム開発 (VB6 から始まり、C# .NET 4.5 まで継続) に行き詰まっており、両方とも純粋な .NET を使用して、Windows フォームでできることの限界にかなり達しています。 、およびネイティブ コードによる特殊効果。

私は WPF と XAML を学ぼうとしましたが、WPF の新しいデザイナーで行き詰まりました。Windows フォーム デザイナーと比較すると、非常に使いにくいように思えます。

Windows フォーム開発者により適した、.NET の WPF デザイナーに代わるものがあるかどうか知りたいですか?

4

5 に答える 5

183

私は WPF の初心者向け記事についてブログを書いていますが、特に役立つ記事がいくつかあります。

要約すると、Winforms と WPF の最大の違いは、WPF ではデータ層 ( DataContext) がアプリケーションであるのに対し、Winforms では UI 層がアプリケーションであることです。

別の見方をすると、WPF では、作成したオブジェクトでアプリケーションが構成され、テンプレートやその他の UI オブジェクトを使用して、アプリケーション コンポーネントの描画方法を WPF に指示します。

これは、UI オブジェクトからアプリケーションを構築し、必要なデータを提供する WinForms とは逆です。

このため、アプリケーション コンポーネントはコードで設計されているため、デザイナは実際にはあまり使用されません。デザイナは、データ クラス (通常はModelsおよびViewModels)を反映するユーザー フレンドリーなインターフェイスを描画するためだけに必要です。

個人的には、すべての XAML を手動で入力することを好みます。ドラッグ アンド ドロップの WPF デザイナーほど高速で混乱しないためです。お気に入り。

したがって、WinForms 開発者に適した WPF デザイナーが他にいるかどうかについての質問に答えるには、別のデザイナーを探すのではなく、意図された方法で WPF を使用する方法を学ぶことをお勧めします。WinForms のように WPF を使用すると、WPF の優れた点の多くを失うことになります :)

于 2013-03-28T14:32:58.377 に答える
9

同意しない人もいますが、VS デザイナーを使用しないことをお勧めします。少なくともインターフェースを作成しないでください。アプリケーションを起動せずに実装の第一印象を知りたい場合は、少なくとも や などの洗練されたものを使用しない限り、優れたビューアーStylesですTemplates。しかし、IMHO、そのドラッグ アンド ドロップの結果はプロトタイプとしてのみ使用する必要があるため、不要になった後は破棄してください。

私がそれを使用しない重要な理由がいくつかあります。

  1. VS デザイナーは、マージンと配置を修正して作業しています (レイアウト コントロールを使用している場合、通常は必要ありません)。つまり、要件が変更された場合、多くのコントロールに触れる必要があります。XAML と WPF の仕組みに精通している場合は、ルック アンド フィールに関して簡単に変更できるアプリケーションを作成できます。

  2. デザイナーが xaml を生成しているため、構成が最適ではなく、UI のパフォーマンスが低下する可能性があります。私はそれを測定しませんでした、それはただの感覚です。

はるかに優れた代替手段はMS Blendですが、最初は簡単ではありません. そのドラッグ アンド ドロップの結果は、VS デザイナーの結果よりもはるかに優れています。
しかし、これは非常に強力なツールであり、非常に強力な要素を使用して最先端の UI を作成するのに役立ちます。その可能性を理解するために、少なくとも短いワークショップに参加することをお勧めします。

あなたの質問に戻ると、私見ですが、多くの人が同意していると思います.WPF Unleashedなどの良い本を手に入れてください。詳細についてもっと知りたい場合は、WPF Pro . とは異なる機能がたくさんありますWinforms。どのデザイナーを使っても、それらを知ることはできません。それが最善のアプローチだと思います。

また、多くのフレームワークやライブラリ ( MVVM lightWPFToolkit など)が存在することも考慮してください。これらは既にいくつかの一般的な問題を解決しています。したがって、車輪を再発明する必要はありません。

于 2013-03-28T14:21:49.373 に答える
7

まず、Visual Studio deisgner の WPF (XAML) では、常に xaml コードを使用して UI を構築し、コントロールをドラッグ アンド ドロップしないでください。コードをきれいに保つ必要があります。Expression Blend を使用すると便利です。これは、ドラッグ アンド ドロップを使用したグラフィック指向ですが、無料ではありません。

それは大きな学習曲線ではありませんが、代替手段を探すのではなく、手動で xaml を実行する方法を学ぶべきだと思います。

于 2013-03-28T12:08:38.430 に答える