私は、ユーザーが見ているときと同じように、私は既存のコードに更新する機能を追加したいhttp://msdn.microsoft.com/en-us/magazine/dd419663.aspx でジョシュ・スミスによって作成されたサンプルを使用してMVVM
をMVVMを学んでいます「All Customers」ユーザーのグリッド上のデータは、ダブルクリックすることで特定のレコードを編集できます。ダブルクリックすると、新しいタブ(新規顧客に使用される同じビュー/ビューモデル)が開きます。私はそれをどうやって行うか考えていない、私はmainwindowviewmodelを通してそれを呼び出さなければならないのか、それとも別の方法がある。
あなたがする必要がある最初の事ができるようにすることです:
はそれはとても者は、一度に一つのこと、それをみましょう、少し関わっだすべてと幸せが
GAURAV女子
こんにちはマーク、 ありがとう、あなたのポストと申し訳ありません私はコメントで書いている、他の方法は、stackoverflowの返信に見つかりませんでした。 'workspace'を静的に宣言し、customerviewmodelで新しいコマンドを作成して新しいワークスペースを作成し、mainwindowviewmododelワークスペースに追加することはOKだと思いますか?その方法はisselectedを実装する必要はありません。いくつかのエキスパート入力をしたいだけです ありがとう Gj – Gaurav
一般に、私はテスト容易性、柔軟性、および一般的なOO-nessを傷つける傾向があるので、できるだけ静的なものから遠ざかります。 ViewModelsの全体的なポイントは、ビューをモデル化することです。モデルのインスタンスがない場合は、ビューごとに1つのモデルを持つことはできません。とにかく1つのワークスペースしか存在しない場合もありますが、静的な使用はMVVMの背後にあるすべての哲学に反すると言います。私の推論はちょっとあいまいですが、それは何年もの経験に基づく一般的な考慮事項です。 –
Mark。私があなたの返信で見る唯一の問題は、顧客モデルにIsSelectedプロパティを置くことを推奨することです。私はそれがGUI指向のプロパティであり、顧客モデルオブジェクトは本当に何が選択されているという概念がないので、CustomerViewModelクラスに入るべきだと思います。 –