私はユーザー コントロールを作成しています。このコントロールはいくつかの作業を行い、3 つの依存関係プロパティを設定します。これらのプロパティは、バインディングを通じてコントロールの親要素によって使用されます。
私の質問は、MVVM を使用して依存関係プロパティを保持する場所に関するベスト プラクティスは何ですか? MVVM 用のフレームワークを使用する必要がありますか?
ありがとう
私はユーザー コントロールを作成しています。このコントロールはいくつかの作業を行い、3 つの依存関係プロパティを設定します。これらのプロパティは、バインディングを通じてコントロールの親要素によって使用されます。
私の質問は、MVVM を使用して依存関係プロパティを保持する場所に関するベスト プラクティスは何ですか? MVVM 用のフレームワークを使用する必要がありますか?
ありがとう
DependencyProperties
UIレイヤーをデータレイヤーに結び付けるWPFのバインディングシステムによって使用されることを意図しています。これらは、データ層ではなく、UI 層に保持する必要があります ( ViewModels
)
フレームワークを使用する必要があるかどうかは、まったく別の問題です。
MVVM で頻繁に使用される一般的なもの ( 、 または 、 または などのメッセージング システムを継承するオブジェクトの基本クラス) を含むフレームワークをお勧めしINotifyPropertyChanged
ますがRelayCommand
、DelegateCommand
時間をかけて理解することをお勧めします。フレームワークを使用する前にMVVMが最初にどのように機能するか:)EventAggregtor
Messenger
慣用的な依存関係プロパティは、ViewModel によって表される「ビュー ステート」とは何の関係もなく、それらを ViewModel に追加する理由はありません。実装しているコントロールの動作を含むファイルに配置します。
フレームワークを使用せずに MVVM パターンを実装することはできますが、なぜ車輪を再発明するのでしょうか? 多くの優れた MVVM フレームワーク (Caliburn、MVVMLight、Simple MVVM Toolkit など) のいずれかを使用してください。