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