2016-07-18 6 views
0

私はWPFが新しくなっています。私は以下を行うWPFアプリケーションを作成する必要があります:WPFテンプレート/テーマ/ UI /コントロールを実行時に変更します。

1)ユーザーは実行時にUIを変更できます。各UIのコントロールは固定されています。数値受け入れのための2つのテキストボックスと、乗算操作を実行して結果を警告するコマンドボタンとを仮定する。

2)最も重要なのはユーザーはXAMLファイル(UI)のフォルダをブラウズして実行時に選択/変更できます。 UIユーザーが作成し使用できるn個のユーザーが存在する可能性があります。

3)私はMVVMパターンを使いたいです。

ベストプラクティスとしてthisが見つかりましたが、疑いはありません。疑問は、ユーザーがユーザーのコントロールを参照し、選択し、それらを設定することができますか? thisを参照する前に、それらを作成してリストに追加する必要がありますか?

このタスクを達成する最良の方法はどれですか?

+0

*ユーザーは、XAMLファイル(UI)のフォルダを参照し、実行時に選択/変更できます。*これは奇妙に聞こえます。それは決して普通ではありません、それは確かです。ですから、あなたがしていることは、mvvmパターンの伝統的な意味にはうまく合わないでしょう。あなたができるところでそれを使用し、あなたができないところでそれを回避してください。 – Will

答えて

0

MVVMパターンに従う場合は、ユーザーが選択する各UIに対してビュー(ユーザーコントロールによって実装される)を作成する必要があります。メインビューには、ユーザーが選択した他のビューをホストできるContentControl(またはHeaderedContentControlのようなユーザーコントロールをホストできる別のコントロールタイプ)があります。ビューの変更は、指定した例のように、関連するビューモデルによって実行されます。

質問に答えようとすると、ユーザーが表示するビューを選択できるメニューを作成する必要があります。既存のビューは、プロジェクトに既に存在するため、リストに追加する必要はありません。コードでより詳細な例が必要な場合は、例えばユーザーがメニューから2つのビューを選択できるように、いくつかの例題で質問を更新し、いくつかのコードを追加します。

関連する問題