2011-03-03 15 views
2

私はMVVMベースのwpfアプリケーションを構築していますが、何か問題があります: モデルからの情報に基づいてUIを構築する必要があります。 私のモデルにはプロセスのリストがあります(XMLファイルからのロード - 動的)、各プロセスには情報(名前、アイコンのパスなど)が含まれています foreachプロセス私は必要とするために、ボタンを1つ(ボタン情報を表示します) viewModelからUIへのプロセスリストを取得して(実際のUIビルドを実行するために)、UIがプロセスコンテナを参照するよう強制し、MVVMを壊します。MVVMパターンによる動的UI

誰かがMVVMを壊すことなくこれを実装する方法を知っていますか?

多くのありがとうございます。

+0

あなたはすべてのシナリオでMVVMを使用する必要はありません使用することができます。イベント駆動型モデルは、場合によってはより良い場合があります。このフォーラムの記事http://forums.silverlight.net/forums/t/127825.aspxをチェックアウトしてください。Laurent R.がMVVMについて語ります。彼はMVVM Toolkitを作る人です。とにかく、申し訳ありませんが、答えではなく、ちょうどあなたに頭をアップ。 :) –

答えて

7

ItemsControlをViewModelのコレクションにバインドします。 ItemsControl内にはDataTemplateを定義します。これは本質的に、各プロセスに基づいてButtonを構築するラッパーになります。

<ItemsControl.ItemTemplate> 
    <DataTemplate> 
     <Button Content="{Binding ProcessName}"/> 
    </DataTemplate> 
    </ItemsControl.ItemTemplate> 
0

あなただけのボタンのテキストを変更する以上のことを行う必要がある場合、あなたはDataTemplateSelector

関連する問題