我試圖去掌握MVVM模式,Silverlight和XAML。Silverlight中的MVVM數據持久性
我在這個階段,我有一個主頁,加載視圖到一個框架。每個視圖都可以綁定到其在xaml中的視圖模型,然後綁定到視圖模型數據。我還爲像按鈕點擊和網格事件等(如SelectionChanged)觸發命令。
當用戶使用主頁面導航菜單進行導航時,會將新視圖加載到框架中,從而創建自己的視圖模型的實例。
我的問題是,我的一個視圖的viewmodel爲某些數據調用WCF方法,然後通過綁定到viewmodel中的ObservableCollection將其顯示在網格中。如果進行了更改,它只會調用一個保存WCF方法並傳回此ObservableCollection。但是,當用戶雙擊網格中的一條線時,我需要存儲一些信息並將其保存到下一個視圖(因爲雙擊也會更改爲不同的視圖)。諸如「所選項目ID」之類的信息。
我最終得到的是一組「類型」的類,它們與視圖模型分開,並保存應用程序狀態和用戶選擇等。視圖模型可以在這裏存儲事物,比如「選擇的項目ID」。在我看來......「模型」幾乎是WCF調用另一端的所有東西?我不認爲我應該在這裏創建另一個模型「圖層」?
我不知道這種方法有什麼問題,但感覺不對。
任何人都可以闡明我應該如何做到這一點?或者如果這是一個好方法?我誤解了這裏的模式嗎?
感謝您的幫助!
但是,需要了解信息的視圖模型尚未實例化?只有當框架中的視圖通過視圖xaml更改時纔會發生這種情況? – creatiive 2012-03-29 09:09:54