WPF com Unity Container - Como registrar e resolver ViewModels para Views

Oi eu estou tentando usar o contêiner Unity no aplicativo WPF MVVM. Eu não usei Prism como parece pesado. Aqui está a estrutura da aplicação. Eu estou tentando descobrir como resolver modos de exibição para ViewModels e dependências dos modelos de exibição (serviços).

Aplicação:

Views

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 precisa de referência para ICustomerService e IBookService

CustomerListViewModel precisa de referência para ICustomerService

BoolListViewModel precisa de referência para o IBookService

BookDetailViewModel precisa de referência para ICustomerService e IBookReserveService

CustomerDetailViewModel precisa de referência para ICustomerService e IBookReserveService

Eu tenho a propriedade getter setter para serviços em cada viewmodels.

Eu estou correndo em questões sobre como eu uso Injeção de Dependência com o WPF especialmente para Views e ViewModel. Eu tentei com Unity para registrar e resolver em um aplicativo de console que está funcionando bem. Mas gostaria de algumas idéias sobre como isso pode ser feito para o aplicativo WPF. Eu tentei me registrar

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

e resolvê-lo usando container.Resolve ();

Mas eu não tinha certeza de como saber qual visualização deve usar qual modelo de exibição e resolvê-los quando necessário, e não quando o aplicativo é iniciado. Além disso, não resolvo todo o mapeamento no início do aplicativo. Isso deve ser feito quando o menu (Selecionar um cliente para ver detalhes, selecionar um livro para exibir detalhes, salvar cliente, reservar livro etc.) estiver selecionado.

Principalmente o que eu li queria usar IView e IViewModel. Mas não tenho certeza se entendi a vantagem disso.

Qualquer ajuda é muito apreciada.

questionAnswers(1)

yourAnswerToTheQuestion