我正在編寫一個應用程序,我嘗試使用MVVM樣式體系結構來處理我的數據綁定(儘管我沒有使用MVVM特定的庫,例如MVVM Light )。我有一個類,它存儲了我的應用程序需要的所有信息,然後爲每個屏幕分配一個視圖模型給它的DataContext,它只需選擇特定屏幕所需的值,並在必要時格式化數據。在Silverlight/WP7應用程序中使用MVVM樣式模式
作爲一個例子,主數據存儲看起來是這樣的:
class DataStore {
int a, b, c;
string d;
DateTime e;
}
然後分配給特定畫面,只使用幾個屬性的視圖模型,是一樣的東西
class MainScreenViewModel {
public int data1 { get { return App.DataStore.a * App.DataStore.c } }
public int data2 { get { return App.DataStore.e.Day } }
}
這似乎工作正常,當頁面加載數據綁定填充,因爲它們應該是。但是,它們在頁面加載時不會自動更新。我已經在DataStore上實現了INotifyPropertyChanged,但似乎change事件不會通過視圖模型反映出來。我確信我正在討論這種非常糟糕的方式,所以如果有人能幫助我指出正確的方向,我會非常感激。我在網上閱讀了一堆指南,但我似乎越來越困惑自己!
謝謝,這似乎是我想要做的。你是什麼意思/ /在RaisePropertyChanged提高它? – 2011-06-13 10:22:42
得到它的工作,謝謝 – 2011-06-13 10:25:51
@Jordan,'提高它'意味着'提高PropertyChanged'。我懶得完全輸入:) – Snowbear 2011-06-13 10:26:50