これは MVVM 概念の正しい解釈ですか?
- DataTemplates -> 表示
- DependencyObject (コントロール、ListView など) -> ViewModel
- DataContext -> モデル
独自の ViewModel を作成すると、実際のコントロールが置き換えられ、明示的なテンプレートが必要になりますか?
ViewModel の「モデル」という言葉は、実際のモデル (DomainModel など) を参照していませんか?
モデルには、プレゼンターも追加します。これは、プロパティなどをビューに昇格させて公開するためのユーティリティ クラスとして表示されます。ViewModel はトップダウン表現 (ビューのモデル) であり、Presenter は ModelView に近いボトムアップ表現 (モデルのビュー) であると言えますか?
その場合、上記を次のように変更する必要があります。
- ...
- DataContext -> プレゼンター
- プレゼンター -> モデル
また、通常は DependencyObject から派生してカスタム プレゼンテーション ラッパーを作成するのではなく、モデルのビューではなく、コントロールなどのビューのカスタム ジェネリック モデルを作成するだけでしょうか?