:ここ
は、いくつかのサンプルです。詳細はプログラムごとに異なるかもしれませんが、MVVMは通常3つの主要部分で構築されます。
モデル: これはあなたのデータオブジェクトです。これは
class Account
{
string Name {get;set;}
string Address {get;set;
}
ようなビジネスデータとすることができるだけでなく、のようなUIデータを指定できます
class Window
{
Point Position {get;set;}
Size Size {get;set;}
}
これらのオブジェクトは、データ、より多くの何を保持するためのものです。イベントはありません。コマンドもありません(MVVMの解釈が異なる1つの点があります)。
ViewModel: これはモデルをラップし、基礎となるモデルの周りにロジックを提供するためです。このクラスは、ビジネスモデルプロパティをビューの理解可能なプロパティに変換するためにも使用されます。
class AccountViewModel
{
public AccountViewModel(Account aWrappedModel)
{
}
string Name {get {return Model.Name;} }
AddressObject Address { get{ return new AddressObject(Model.Address); }
}
ビュー:
が、これはユーザーコントロール、カスタムコントロール、ウィンドウ、datatemplatesなど共通にもかかわらず は信じて、その罰金は、そうでない場合、あなたが持っているの背後にあるビューのコードを持つことができ、WPFの一部ですビューがコードを持つことが許可されていないと聞いたからといって、バックワードを曲げようとしています。
通常のアプローチは、モデル、1つ以上のビューモデルを作成し、これらのビューモデルをDataContext
と設定することです。場合によっては、AccountViewModelのDataTemplateのように、指定されたデータを表示するためにDataTemplateが必要な場合があります。
このデザインでは、MVVMの基本であり、非常にうまく動作するDatabindingを大量に使用しています。もちろん、いくつかの問題が発生する可能性があります。モデルを使ってCollectionを処理する方法は?ビューモデルからイベントを処理するには?私のデータを保存するには?
しかし、ここでは多くのリソースがウェブで見つかっています。しかし、この回答は、私と他の人がWPFでどうやって仕事をしているかの大雑把な概要を示すはずです。
興味深いことに、MVVMで作成された小さなサンプルアプリケーションを念頭に置いたチュートリアル/記事の場所を教えてください。 – Tower
私には良いと思われるサンプルをいくつか追加しましたが、私はこの方法を学ぶことは一度もしていませんでしたので、私は保証しません。私はフレームワークのドキュメントだけで始めます。常に「スタートガイド」のページかsimmilarがあります。 – Pein
@rファクタ:これは、開始するのに適した場所です。http://msdn.microsoft.com/en-us/magazine/dd419663.aspx – Grokys