(Я довольно новичок в WPF, поэтому этот вопрос может показаться очевидным или непоследовательным.)WPF: привязка данных для модальных диалогов?
Требуется отредактировать некоторые бизнес-данные некоторых частей приложения из дочернего модального окна и обновить только данные если пользователь нажмет кнопку OK в этом окне. Назовем это окно SettingsDialog.
В этом случае целесообразно ли использовать привязку данных WPF для привязки элементов управления SettingsDialog к бизнес-данным? (И если да, то как обновлять бизнес-данные только тогда, когда пользователь нажимает кнопку «OK» OK)?
Или лучше вручную назначить значения элементов управления SettingsDialog из бизнес-данных, в то время как SettingsDialog показывает, а затем назначает их только тогда, когда пользователь нажимает кнопку OK?
Каковы аргументы правильного выбора (меньший или четкий код, производительность, расширяемость)?
Есть ли признанный шаблон дизайна для подобных случаев?
EDIT: Я отметил ответ Bubblewrap как принятый, потому что он подходит для моего конкретного конкретного случая больше всего. Хотя ответы Гвардии и Джона также кажутся приемлемыми.
Подводя итог: использование привязки данных имеет ряд преимуществ. Это позволяет SettingsDialog ничего не знать о внутренних соединениях и зависимостях бизнес-объекта (если они есть), позволяет легко переключиться позже из модального в немодальный режим, уменьшит зависимости между графическим интерфейсом и бизнес-данными.
Чтобы реализовать изменение объекта при нажатии кнопки ОК, может быть использовано клонирование/назначение объектов, или объект может реализовать интерфейс IEditableObject.
В некоторых тривиальных случаях, однако, использование привязки данных может иметь некоторые ненужные служебные данные.
спасибо! Я взял маршрут IEditableObject, и я не жалею об этом. –