1

これは MVVM 概念の正しい解釈ですか?

  • DataTemplates -> 表示
  • DependencyObject (コントロール、ListView など) -> ViewModel
  • DataContext -> モデル

独自の ViewModel を作成すると、実際のコントロールが置き換えられ、明示的なテンプレートが必要になりますか?

ViewModel の「モデル」という言葉は、実際のモデル (DomainModel など) を参照していませんか?

モデルには、プレゼンターも追加します。これは、プロパティなどをビューに昇格させて公開するためのユーティリティ クラスとして表示されます。ViewModel はトップダウン表現 (ビューのモデル) であり、Presenter は ModelView に近いボトムアップ表現 (モデルのビュー) であると言えますか?

その場合、上記を次のように変更する必要があります。

  • ...
  • DataContext -> プレゼンター
  • プレゼンター -> モデル

また、通常は DependencyObject から派生してカスタム プレゼンテーション ラッパーを作成するのではなく、モデルのビューではなく、コントロールなどのビューのカスタム ジェネリック モデルを作成するだけでしょうか?

4

1 に答える 1

0

通常、MVVM は次のように解釈されることを意図しています。

View -> Controls、DataTemplates など
Model -> 実際のデータ モデル (データベースなど)
ViewModel -> View が DataBinding に使用できるプロパティとコマンドを公開します。

つまり、View は ViewModel を DataContext として持ち、ViewModel のプロパティは Model のデータを反映し、ViewModel の Commands は Model で動作します。単純なケースでは、Model と ViewModel が同じ場合があります。

概要はここにあります: http://blogs.msdn.com/b/johngossman/archive/2005/10/08/478683.aspx
探してみると、MVVM アプリケーションの構築に関するかなりの数の例を見つけることもできます。 .

于 2012-04-10T09:14:11.207 に答える