我正在研究使用MVVM,雖然我大部分理解它,但有一件事我無法得到我的頭。MVVM將數據傳遞給對話框查看模型
想象一下,我有一個顯示foobar列表的View和ViewModel組合。當用戶在列表中選擇一個foobar並單擊編輯按鈕時,我想讓foobar顯示在一個彈出的對話窗口中,以便它可以被編輯。這個對話窗口(視圖)將有自己關聯的ViewModel。
我明白,該按鈕可以綁定到列表ViewModel上的命令,但從這裏我如何實例化foobar編輯器?
1)我是否必須將消息發送回視圖,這將打開對話窗口?如果是這樣,這是否違背了命令的目的?
2)foobar如何傳遞到編輯器的ViewModel?如果是通過它的構造函數,這是不是很難在XAML中聲明ViewModel?
我覺得這是阻止我使用MVVM的難題的最後一部分,我真的很想爲此獲得一個很好的解耦解決方案。
感謝 馬特
這是一個有趣的方法。看看這個示例項目,我想知道是否會因爲失去一個普通窗口的某些功能(調整大小,無模式等)而受到刺激。 我開始認爲這可能值得我考慮一個根本不需要複雜對話框的設計 - 而且可能有一個MDI應用程序。 你對此有何看法? – Matt 2010-03-03 21:00:37