0
我有一個caliburn micro和Longlistselector的問題。當只有1個對象在收集中時,LongListSelector不能正確刷新
從我的viewmodel BindableCollection綁定到LLS視圖中的ItemSource。
在OnActivate方法中,我將數據從本地數據庫加載到BindableCollection中以刷新LLS。從我的列表頁面,我可以到另一個頁面編輯列表中的選定項目,保存後我將返回到我的列表頁面。 然後再次調用OnActivate方法,該方法從本地數據庫獲取SomeType的所有對象,並分配新的BindableCollection,以更新LLS。
當超過1個元素位於本地數據庫中時,此功能非常有用。但是,當本地數據庫中只有一個對象時,編輯後LLS不會更新,在編輯之前仍然顯示相同的數據。
更重要的是,當我再次編輯此對象以編輯頁面時,會顯示正確的數據。
下面是我OnActivate方法
protected override void OnActivate()
{
base.OnActivate();
Task<List<Person>>.Factory.StartNew(() => _service.GetPresons()).ContinueWith(
x => Execute.BeginOnUIThread(() =>
{
this.Persons = new BindableCollection<Person>(x.Result);
}));
}
任何想法如何解決呢?
已經測試過,不能正常工作。我認爲這可能是LongListSelector在某些情況下可能緩存項目的問題 – 2014-09-26 20:11:53