Обновление элемента в коллекции и отображение в WPF - PullRequest
0 голосов
/ 26 июня 2010

У меня есть следующий сценарий:

  1. Пользователь вводит значения в форму и отправляет
  2. Методы submit вызывают службу, передающую объект, связанный с формой, в качестве параметра
  3. Объект сохраняется в БД
  4. Объект получает новый идентификатор и возвращается в вызывающий метод
  5. Объект добавляется в коллекцию в методе отправки

У меня есть элемент управления экспандером, который привязан к коллекции с использованием списка элементов, а внутри каждого списка есть подсписок.

Как лучше обновлять представление для отображения обновленного объекта.Чтобы обновить коллекцию, я делал следующее:

             ObservableCollection<ProjectDto> projects = new ObservableCollection<ProjectDto>();
                Projects.ForEach(projects.Add);
                Projects.Clear();
                projects.ForEach(Projects.Add); 

Это приводит к разрушению расширителя, поскольку я думаю, что он привязан к новой коллекции.

1 Ответ

0 голосов
/ 26 июня 2010

Какова взаимосвязь между проектами (маленькая буква p) и Projects (заглавная буква P) - почему два списка? Как выглядит твоя привязка?

EDIT

Предположим для обсуждения, что Projects является ObservableCollection и является тем, что связано с вашим пользовательским интерфейсом, а проекты являются либо временным, доменной моделью, либо внутренним списком, который вы используете для сборки и подготовки (сортировки, проверки и т. Д.). ) DTO для презентации. В этом случае проекты могут быть просто списком, и вы можете каждый раз, когда вы делаете Projects = new ObservableCollection (projects), ваша коллекция связанных элементов интерфейса должна обновляться.

Berryl

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...