Обновление списка контактов из другого класса при добавлении нового контакта из модального окна - WPF / MVVM - PullRequest
0 голосов
/ 16 ноября 2018

Я знаю способы сделать это, но я пытаюсь выяснить, какой «правильный» способ сделать это, используя рекомендации MVVM и / или WPF.

Итак, в основном, вот моя ситуация:

  • У меня есть окно (Клиенты), в котором есть список клиентов, а затем окно со списком контактов для этого клиента.
  • У меня есть кнопка «Добавить контакты», которая открывает новое окно (контакты) в качестве модального режима, где пользователи могут ввести новый контакт и добавить его в базу данных.
  • Я передаюв Customer_ID для конструктора, когда я создаю новое окно контактов из окна клиентов.
  • Когда они завершают добавление в новую контактную информацию, они закрывают окно контактов и остаются в окне клиентов.

Что я хочу знать, так это то, что как только они нажимают кнопку «Отправить контакт» и это сохраняет новый контакт в базе данных, каков «правильный» способ добавить этот новый контакт вОкно контактов в ObservableCollection контактов в окне «Клиенты» (без объявления глобальной общедоступной переменной - очевидно, я это уже знаю).

Я использую MVVM, где модель представления содержит общие и частные свойства и коллекции.которые привязаны к различным элементам управления самого окна, а код позади создает экземпляр ViewModel.

ОБНОВЛЕНИЕ ОБНОВЛЕНО: Я хочу ударить себя по этому лицу.По сути, я просто создал общедоступный делегат в дочернем окне типа «Контакт», а затем подписался на него в родительском окне, а затем добавил, что контакт передан через делегата в список контактов

.

1 Ответ

0 голосов
/ 16 ноября 2018

Я думаю, что вы переосмыслили это ...

Либо окно должно предоставлять новый экземпляр с помощью вызова метода после сообщения об успешном выполнении, либо отдельные свойства должны быть установлены как свойства зависимости и создать новый экземпляриз этих свойств.В любом случае возьмите и добавьте новую копию экземпляра в наблюдаемую коллекцию виртуальной машины.

Нет необходимости возвращаться обратно в базу данных, чтобы получить новое значение или целый список объектов.

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