Я пытаюсь создать стратегию для обработки всплывающих форм для использования в любой части моего приложения.Насколько я понимаю, мне понадобится один UserControl
в корне моего главного окна.Это будет связано с его собственной ViewModel, которая будет обрабатывать сообщения, отправленные в приложении.
Я использую MVVM Light, и я довольно плохо знаком с классом Messenger
.
Представьте себе сценарий Master / Details, где список объектов содержится в ListBox
.Если выбрать один из этих элементов и нажать кнопку «Изменить», отобразится UserControl
, охватывающий весь экран.Затем пользователь может отредактировать выбранный элемент и нажать «ОК», чтобы зафиксировать изменение.
Я хочу, чтобы открываемый UserControl
был «универсальным» способом, которым я могу выбросить любой (возможно, ViewModel)на это ... для него, чтобы визуализировать ViewModel через DataTemplate
и обрабатывать все изменения объекта.Нажатие OK вызовет обратный вызов к классу отправки и сохранит изменение, как и раньше.
В некоторых случаях это может быть полезно: ...
- Отображение сообщений об ошибках без ввода данных пользователем (кроме OK, чтобы закрыть его)
- Показать форму редактирования для элемента данных
- Диалоги подтверждения (во многом как стандартный MessageBox)
Может кто-нибудь предоставить любой кодобразцы того, как я мог бы достичь этого?