protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            _container = new UnityContainer();
            var locator = new UnityServiceLocator(_container);
            ServiceLocator.SetLocatorProvider(() => locator);

            _container.RegisterType<UserProvider>(new ContainerControlledLifetimeManager());
            //_container.RegisterType<IViewTypeResolver, NamingConventionViewTypeResolver>(new ContainerControlledLifetimeManager());

            _container.RegisterType<UserDetailsViewModel>(new ContainerControlledLifetimeManager());
            _container.RegisterType<UserListViewModel>(new ContainerControlledLifetimeManager());

            var mappingResolver = new MappingViewTypeResolver();
            mappingResolver.Register<UserDetailsView, UserDetailsViewModel>();
            mappingResolver.Register<UserListView, UserListViewModel>();
            _container.RegisterInstance<IViewTypeResolver>(mappingResolver);

            var mainVM = _container.Resolve<MainWindowViewModel>();
            mainVM.Initialize();

            var mainWindow = new MainWindow();
            mainWindow.DataContext = mainVM;
            mainWindow.Show();
        }
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            _container = new UnityContainer();
            var locator = new UnityServiceLocator(_container);

            ServiceLocator.SetLocatorProvider(() => locator);

            _container.RegisterType <UserProvider>(new ContainerControlledLifetimeManager());
            //_container.RegisterType<IViewTypeResolver, NamingConventionViewTypeResolver>(new ContainerControlledLifetimeManager());

            _container.RegisterType <UserDetailsViewModel>(new ContainerControlledLifetimeManager());
            _container.RegisterType <UserListViewModel>(new ContainerControlledLifetimeManager());

            var mappingResolver = new MappingViewTypeResolver();

            mappingResolver.Register <UserDetailsView, UserDetailsViewModel>();
            mappingResolver.Register <UserListView, UserListViewModel>();
            _container.RegisterInstance <IViewTypeResolver>(mappingResolver);

            var mainVM = _container.Resolve <MainWindowViewModel>();

            mainVM.Initialize();

            var mainWindow = new MainWindow();

            mainWindow.DataContext = mainVM;
            mainWindow.Show();
        }