2012-04-22 12 views
1

私のWPFアプリケーションでは、3つのビュー(カスタムUserControls)で構成されたMainViewがあります。私のビューのレイアウトは(XAMLで)行われましたが、今は設定ファイルを読み込んでビューを作成する必要があります。構成ファイルを読み込むと、モデルオブジェクトとビューアイテムが作成されます。MVVMを尊重してプログラムで作成/表示する方法は?

より複雑なビュー(View1と呼ぶことができます)は、(StackPanels + GroupBoxで整理された)カテゴリで区切られた一連のボタンで構成されるタブを持ちます。

ビューの主なコンポーネントは、私のモデルのアクションを引き起こすボタンなので、私の質問は、MVVMを使用してこれを達成する方法ですか?

ViewModelはビューを作成する責任がありますか?そうでなければ、どのようにコマンドを使用するのでしょうか?

P.S. MVVM Light Toolkitを使用しています

答えて

3

いいえ、ViewModelはビューの作成を担当していません。一般的に、XAML DataTemplatesを使用してViewModelオブジェクトをUserControlにマップします。これは、 "ViewModel first"と呼ばれます。 ビューを自分で作成し、ViewModelを手動で挿入することもできます。これは「最初に表示する」と呼ばれます。一般的に、ViewModelは最初に普及しているようです。

ボタンの問題がわかりません。 RelayCommandsをViewModelに公開するだけで、ボタンをビューにバインドすることができます。

+0

あなたの答えをありがとう。私はそれを過度に考えているかもしれません。私はwpfの新人ですし、私の見解に何があるのか​​、ボタンの数やボタンの種類を知らなくてもそれに対処するのは難しいです。コードに飛び込み、何が起こるかを見てみましょう。 – Joana

+0

ええ、それはやりにくいです。ビューのボタンではなく、ViewModelでコマンドを試してみてください。それはすべての勇気があるViewModelです。ビューは上に置かれた薄い「スキン」です。 – GazTheDestroyer

関連する問題