私は現在、ブラウンフィールド アプリケーションに取り組んでいます。それは、後のバージョンで WPF を使用するための準備として、winforms で書かれています。チームは、少なくとも MVVM/Presentation モデルを使用し、winforms に対してバインドする予定です...
私は、このサイトの投稿 (私はとても気に入っています) を含め、主題を調査しました。要約すると、wpf の主な利点は次のとおりです。
- コントロールを xaml のプロパティにバインドします。
- ビューモデル内のコマンド オブジェクトにコマンドをバインドします。
最初の機能は、(コードで) 実装するのが簡単です。または、フォーム内のすべてのコントロールをバインドする汎用コントロール バインダーを使用します。
2 番目の機能は実装が少し難しくなりますが、すべてのコントロールから継承し、コマンド プロパティ (クリックなどの内部イベントによってトリガーされる) を追加すると、ViewModel のコマンド インスタンスにバインドされます。
私が現在認識している課題は次のとおりです。
- コマンドマネージャーを実装します (必要に応じてコマンドの CanInvoke メソッドをトリガーします。
- winforms は 1 つのレベルのデータ バインディングのみをサポートします。datasource、datamember、wpf ははるかに柔軟です。
この設計パターンを実装しようとすると、wpf と比較して winforms に欠けている他の主要な機能が欠けていますか?
多くの人がある種の MVP パターンを推奨すると確信していますが、将来の WPF サポートが必要なので、MVVM/Presentation モデルが私には適しています。
前もってありがとう、エリック。