2011-07-09 10 views
1

私はページ上にユーザコントロールを持っており、グリッド内に別のカスタムユーザコントロールをロードしたいと思います。しかし、私はユーザーコントロールタイプを動的にしたいと思っています。例えば、ドロップダウンリストから "Calculator"を選択すると私のカスタム電卓コントロールが表示され、 "Currency Converter"を選択すると通貨コンバータがロードされます。誰でも助けることができますか?動的子ユーザコントロールMVVM

ところで私はMVVMに固執しようとしています。

ありがとうございます。

答えて

3

1つの方法は、子ごとに複数のDataTemplatesを定義することです。ユーザーがオプションを選択すると、対応するViewModelが親ビューにあるContentControl's DataContextに設定され、フレームワークが対応するビューを選択します。

-1

John Papaはこれを行う方法について正確なブログ投稿を書いていますhere

基本的な戦略は、一度ドロップダウンから選択したUserControlから派生したクラスの新しいインスタンスをインスタンス化することです。

つまり、ドロップダウンリストのSelectionChangedイベントを処理し、選択したアイテムに基づいて新しいUserControlオブジェクトを作成できます。

+0

これはMVVMパターンではありません – CamronBute

関連する問題