我在這裏有一個嚴重的心理障礙,並在離開需要一些幫助。我正在使用Windows Phone Databound應用程序作爲我的項目的起點,並對模型,視圖模型和視圖之間的交互方式感到滿意。從孤立的存儲檢索數據到viewmodel
我的問題是,該示例中使用的數據在運行時創建並添加到ObservableCollection對象。我的理解是,創建新的ItemViewModel對象並將它們添加到ObservableCollection中會引發Equavalent到NotifyPropertyChanged事件,這些事件可確保視圖上的綁定全部刷新。如果我的解釋不正確,那麼我會歡迎任何想法。
現在,在大多數現實世界的例子中,運行時數據的生成是無用的,因此我需要將數據序列化到獨立存儲。這我已經完成,並且可以成功保存並加載我的ObservableCollection對象。
當我從IsolatedStorage加載數據,然後將返回的ObservableCollection分配給視圖模型中的Items對象時,出現問題。
public void LoadData()
{
App.Measurements = Serialization.Read<measurements>(App.MEASUREMENTS);
this.IsDataLoaded = true;
}
僅包含要在IsolatedStorage中使用的文件名的全局變量的App.MEASUREMENTS。
上述代碼檢索數據並將其分配給Items ObservableCollection,但UI未更新。如果我更換上面的代碼有:
public void LoadData()
{
foreach (measurement m in App.Measurements.WeightMeasurements)
{
this.Items.Add(m);
}
this.IsDataLoaded = true;
}
和迭代throught檢索集合,然後在用戶界面上的一切更新正確添加新ItemViewModel集合項集合。
我的xaml具有正確的綁定,並且DataContext也被正確設置。
我試過用數種方法來解決這個問題,但我不能相信唯一的方法就是遍歷整個已加載的集合,並將其添加到Items集合中,只是一些事件會觸發!
任何想法最受歡迎。
Jason。
這是我的第一個問題和我的回答,你說你已經這麼做了 –
@Matt我對你回答的解釋並沒有使我得出最終結論,儘管回想起你的問題包含了一個指向最終解決方案的指針,** Item **實例化的類實現了NPC的屬性,然而,現在我明顯知道,只有類的屬性實現NPC是不夠的,實現類(對象)的屬性還需要提高NPC事件以更新用戶界面。再次感謝我堅持這一點。 –