Я знаю способы сделать это, но я пытаюсь выяснить, какой «правильный» способ сделать это, используя рекомендации MVVM и / или WPF.
Итак, в основном, вот моя ситуация:
- У меня есть окно (Клиенты), в котором есть список клиентов, а затем окно со списком контактов для этого клиента.
- У меня есть кнопка «Добавить контакты», которая открывает новое окно (контакты) в качестве модального режима, где пользователи могут ввести новый контакт и добавить его в базу данных.
- Я передаюв Customer_ID для конструктора, когда я создаю новое окно контактов из окна клиентов.
- Когда они завершают добавление в новую контактную информацию, они закрывают окно контактов и остаются в окне клиентов.
Что я хочу знать, так это то, что как только они нажимают кнопку «Отправить контакт» и это сохраняет новый контакт в базе данных, каков «правильный» способ добавить этот новый контакт вОкно контактов в ObservableCollection контактов в окне «Клиенты» (без объявления глобальной общедоступной переменной - очевидно, я это уже знаю).
Я использую MVVM, где модель представления содержит общие и частные свойства и коллекции.которые привязаны к различным элементам управления самого окна, а код позади создает экземпляр ViewModel.
ОБНОВЛЕНИЕ ОБНОВЛЕНО: Я хочу ударить себя по этому лицу.По сути, я просто создал общедоступный делегат в дочернем окне типа «Контакт», а затем подписался на него в родительском окне, а затем добавил, что контакт передан через делегата в список контактов
.