つい最近、MVVMを使用してGUIを基盤となるモデルから切り離すことについて学びました。私は、現在のアプリケーションをMVVMに変換するためにできる限り多くのことを学ぶことになり、大部分は成功しました。次に、Blendで生成されたGUIを実際に取得し、VisualStudioで設計された現在のGUIの代わりに使用する方法を理解する必要があります。これを可能な限りシームレスにするためのリソースがWeb上に見つかりません。皆さんが何をして、あなたのために仕事をしてきたのか知りたいのですが。
私の究極の解決策は、実行時にメニューからスキンを選択し、ユーザーが選択した現在のスキンから別のスキンにすぐにGUIを変更できるようにすることです。 誰かがこれを行う方法を説明する投稿を私に指摘できますか?
私の現在の目標はそれほど野心的ではありません。新しいBlendGUIをVisualStudioプロジェクトに追加し、コンパイル時に新しいBlendGUIを表示できるようにしたいと考えています。古いGUIに戻りたい場合は、再コンパイルする必要があります。今のところ、それは大丈夫です。
BlendプロジェクトをVS2008ソリューションに追加し、スタートアップアプリケーションとして設定しました。これは問題なく機能します。アプリを実行すると、古いGUIの代わりに新しいGUIが表示されます。ここでの問題は、実際には別のフォルダー(元のスタートアップ・アプリケーションのbin \ Debugフォルダー)にあるDLLが必要なことです。 元のGUIをスタートアップアプリケーションとして残し、そのアプリコードビハインドで他のGUIをロードすることになっていますか?
また、それぞれのGUIには、ViewModelへの参照が必要です。私の場合、現在のGUIクラスでインスタンス化しただけです。Blend GUIの場合、GUIの1つだけがアクティブになるため、そこでも1つをインスタンス化しました。 これは、Unityフレームワークのようなものを使用する必要がある場所ですか?
一貫性のない可能性のあるすべての質問について申し訳ありませんが、ここからどのように進めるべきかよくわかりません。私は、MVVMがGUIの観点から進む方法であるということを自分自身に証明することに非常に近いように感じます(私はすでにテスト容易性ビットで販売されています)。