Windows Phone 8.1 LongListSelector не обновляется автоматически при обновлении данных

У меня есть простой LongListSelector, отображающий некоторые данные. Когда я изменяю запись, LongListSelector не отображает изменения. Я хочу, чтобы при изменении записи LongListSelector автоматически отображал изменения. Как я могу это сделать? Есть ли способ заставить мой LongListSelector отображать обновленные данные?

РЕДАКТИРОВАТЬ:

Данные хранятся в ObservableCollection и добавляются в LongListSelector с помощью DataContext.


person smn.tino    schedule 27.06.2014    source источник
comment
Как вы устанавливаете данные в LongListSelector? Вы используете привязку? Вы используете ObservableCollection? Реализуют ли ваши классы INotifyPropertyChanged? Чтобы дать вам содержательный ответ, необходимо больше информации.   -  person Igor Ralic    schedule 28.06.2014
comment
Поискав в сети, я прочитал об INotifyPropertyChanged, но я не совсем понимаю, что это такое и как его использовать. Пожалуйста, объясните мне, что мне нужно сделать, чтобы реализовать автообновление моего LongListSelector?   -  person smn.tino    schedule 28.06.2014
comment
Это то, что я на самом деле делаю для отображения обновлены данные о моем LongListSelector   -  person smn.tino    schedule 28.06.2014
comment
Лучшим способом обновления представления/элементов управления является шаблон MVVM. в вашем примере вы не реализуете этот шаблон. В MVVM при изменении каждого источника данных представление обновляется автоматически, это то, что вы хотите сделать в своем селекторе длинного списка. Я предлагаю использовать MVVM Light (mvvmlight.net). Он прост в использовании, вы также можете загрузить его с помощью самородок. Я опубликую пример того, как я использую его в своих проектах.   -  person Muhammad Saifullah    schedule 28.06.2014
comment
@top_broker Возможно, будет полезно взглянуть на это: channel9.msdn.com/Series/   -  person WereWolfBoy    schedule 03.07.2014


Ответы (1)


Следуя этому руководству , я понимаю шаблон MVVM и решаю свою проблему. В моем случае моя Модель не реализовывала INotifyPropertyChanged, поэтому Модель не уведомляла Представление об изменениях. Чтобы синхронизировать вид и модель:

  • Модель должна реализовывать INotifyPropertyChanged, чтобы событие PropertyChangedEventArgs() могло вызываться при изменении некоторых свойств.
  • Коллекция (данные) должна быть ObservableCollection.
  • Наконец, используйте привязку для синхронизации модели и представления.
person smn.tino    schedule 06.07.2014