예제 #1
0
        public static IUnityContainer RegisterTypeForNavigationFromViewModel <TViewModel>(this IUnityContainer container) where TViewModel : class
        {
            var viewType = PageNavigationTypeResolver.ResolveForViewType <TViewModel>();
            var name     = PageNavigationNameResolver.Resolve <TViewModel>();

            return(container.RegisterTypeForNavigation(viewType, name));
        }
        public void ResolveForViewTypeWhenDifferentAssembly()
        {
            PageNavigationTypeResolver.AssignAssemblies <TestPage, TestPageViewModel>();
            var actual = PageNavigationTypeResolver.ResolveForViewType <TestPageViewModel>();

            Assert.Equal(typeof(TestPage), actual);
        }
        public void Clear()
        {
            PageNavigationTypeResolver.AssignAssemblies <TestPage, TestPageViewModel>();
            PageNavigationTypeResolver.Clear();

            Assert.Null(PageNavigationTypeResolver.ResolveForViewModelType(typeof(TestPage)));
            Assert.Null(PageNavigationTypeResolver.ResolveForViewType <TestPageViewModel>());
        }
 public PageNavigationTypeResolverFixture()
 {
     PageNavigationTypeResolver.Clear();
 }
        public void ResolveForViewTypeWhenPageOfSameAssembly()
        {
            var actual = PageNavigationTypeResolver.ResolveForViewType <MockPageViewModel>();

            Assert.Equal(typeof(MockPage), actual);
        }
        public void ResolveForViewModelTypeWhenViewOfSameAssembly()
        {
            var actual = PageNavigationTypeResolver.ResolveForViewModelType(typeof(MockView));

            Assert.Equal(typeof(MockViewModel), actual);
        }
 public void ResolveForViewModelTypeWhenArgumentIsNull()
 {
     Assert.Throws <ArgumentNullException>(() => PageNavigationTypeResolver.ResolveForViewModelType(null));
 }
예제 #8
0
 protected override void ConfigureContainer()
 {
     base.ConfigureContainer();
     PageNavigationTypeResolver.AssignAssemblies <MainPage, MainPageViewModel>();
     ViewModelLocationProvider.SetDefaultViewTypeToViewModelTypeResolver(PageNavigationTypeResolver.ResolveForViewModelType);
 }