none
Обновление ObservableCollection RRS feed

  • Вопрос

  • Добрый день.

    Коллекцию я заполняю в конструкторе  вот так :

    errorDataList = new List<ErrorDataModel>();
    ocm_errorData = new ObservableCollection<ErrorDataModel>(errorDataList);

    При изменении errorDataList из БД коллекция не обновляется и соответственно DataGrid. Если я при обновлении errorDataList я создам новую коллекцию

    ocm_errorData = new ObservableCollection<ErrorDataModel>(errorDataList)

    то все отлично. Меня не устраивает при каждом запросе создавать новую коллекцию. Я что-то делаю не так. В сеттерах List<T> и ObservableCollection<T>     прописываю OnPropertyChanged().


    10 февраля 2020 г. 10:43

Все ответы

  • Добрый день.

    Возможно я задал вопрос не корректно. Попробую еще раз. Меня интересует только один вопрос - как правильно обновить коллекцию ObservableCollection.  В общих чертах я понимаю так, допустим

    1. В конструкторе VM я создаю объект List<T> и на основании его создаю коллекцию ObservableCollection<T>(List<T>) и подвязываю к DataGrid.

    2. После определенных манипуляций пользователем, необходим запрос в БД за новой порцией данных на основании критерия. Что делаем: a) обновляем List<T>  b) и тут у меня вопрос как обновить ObservableCollection<T>.  Создавать новую коллекцию или как-то обновить (подменить) искомую. Я это не понимаю. Дайте пожалуйста ответ.

    P.S. Я склоняюсь к тому, что не нужно создавать новую коллекцию  [= new ObservableCollection<T>(List<T>)].

    11 февраля 2020 г. 11:23