Версии этого вопроса были заданы, но я не думаю, что это дубликат как таковой. Я создаю LOB-приложение на C # / Prism4 и пытаюсь получить правильную архитектуру с первого дня. Приложение (со временем) будет иметь несколько экранов мастера / сведений, а также экраны редактирования со встроенными сетками, которые можно редактировать. Например: отобразить список пользователей с возможностью добавления или редактирования через всплывающее окно.
В настоящий момент я думаю, что простым решением было бы иметь диалоговое окно в виде скрытой панели данных, привязанной к той же модели представления с ее видимостью, контролируемой привязкой данных. Чтобы отредактировать пользователя (используя приведенный выше пример), сделайте копию данных для редактирования, а затем установите флаг IsInEditMode в значение true, чтобы отобразить диалоговое окно. Обычное командование может затем захватить кнопки «сохранить» / «отменить», чтобы обновить модель (или нет).
Несмотря на то, что это звучит просто для реализации, оно кажется немного неправильным. Существует разделение проблем, просто создается впечатление, что модель представления мультиплексируется.
Я сталкивался с руководством Prism InteractionRequest, но оно кажется более ориентированным на простые всплывающие окна («Вы уверены, что хотите отменить?»).
Мне нужно решение, которое масштабируется на десятки экранов. Он должен быть простым и легким в обслуживании.
Заранее спасибо.