Servicio de Windows WPF / MVVM sin reinicio del modelo de vista
Quiero eliminar de mi vista la creación de modelos de vista
Escribí la clase WinodwsService para crear una nueva ventana:
public class WindowService : IWindowService
{
public void ShowWindow(object viewModel)
{
//var win = new DXWindowCloasable(viewModel);
var win = new DXWindow();
win.Content = viewModel;
win.DataContext = viewModel;
win.ShowDialog();
}
}
En vista modelo llamo método:
var vm = new PolaPrzewoznikowViewModel(konf);
IWindowService wnf = new WindowService(); // this is only for test
wnf.ShowWindow(vm);
En UserControl he definido el tipo de modelo de vista:
<UserControl.DataContext>
<local:PolaPrzewoznikowViewModel />
</UserControl.DataContext>
Cuando tengo esto, puedo profundizar (CTRL + B) en los comandos y usar una finalización de código cuando estoy proyectando una Vista, esto es muy útil.
Pero ... cuando uso win.ShowDialog (); Se crea el nuevo modelo de vista. Y la vista mostrada tiene un modelo de vista sin parámetros (constructor predeterminado).
¿Cómo puedo usar el servicio de ventana y mantener a la vista UserControl.DataContext definido?