WPF con Unity Container - Cómo registrar y resolver ViewModels a Views

Hola, estoy intentando usar el contenedor de Unity en la aplicación MVVM de WPF. No he usado el prisma como parece pesado. Aquí está la estructura de la aplicación. Estoy tratando de averiguar cómo resolver las vistas a los modelos de vista y las dependencias de los modelos de vista (servicios).

Solicitud:

Puntos de vista

MainWindow.xaml
CustomerList.xaml
CustomerDetail.xaml
BookList.xaml
BookDetail.xaml

ViewModels

MainViewModel

CustomerListViewModel

BoolListViewModel

BookDetailViewModel

CustomerDetailViewModel

Biblioteca

ICustomerService (AddCustomer, SaveCustomer, GetCustomers, GetCustomer)

CustomerService:ICustomerService

IBookService (GetBooks, GetBook)

BookService:IBookService

IBookReserveService(Reserve, Return)

BookReserveService:IBookReserveService

MainViewModel necesita una referencia a ICustomerService, e IBookService

CustomerListViewModel necesita una referencia a ICustomerService

BoolListViewModel necesita una referencia a IBookService

BookDetailViewModel necesita una referencia a ICustomerService y IBookReserveService

CustomerDetailViewModel necesita una referencia a ICustomerService y IBookReserveService

Tengo propiedad de establecedor getter para los servicios en cada modelos de vista.

Estoy teniendo problemas con la forma en que uso la inyección de dependencias con WPF, especialmente para las vistas y ViewModel. Intenté con Unity registrarme y resolver en una aplicación de consola que funciona bien. Pero me gustaría tener algunas ideas sobre cómo se podría hacer esto para la aplicación WPF. Intenté registrarme

 container.RegisterType<ICustomerService, CustomerService>()
 container.RegisterType<IBookReserveService, BookReserveService>()
 container.RegisterType<IBookService, BookService>()

y resolverlo utilizando container.Resolve ();

Pero no estaba seguro de cómo podría saber qué vista debe usar qué modelo de vista y resolverlos cuando sea necesario y no cuando se inicia la aplicación. Además, no puedo resolver todos los mapas en el inicio de la aplicación. Se debe hacer cuando se selecciona el menú (Selección de un cliente para ver detalles, selección de un libro para ver detalles, guardar clientes, reservar libro, etc.).

Principalmente lo que leí quería usar IView y IViewModel. Pero no estoy seguro de haber entendido la ventaja en ello.

Cualquier ayuda es muy apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta