У меня проблема с калибром микро и Longlistselector.LongListSelector не обновляется правильно, когда только один объект находится в коллекции
BindableCollection from my viewmodel связывается с ItemSource в LLS в представлении.
В методе 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, которая в некоторых случаях может кэшировать элементы –