예제 #1
0
        protected virtual Type GetPageType(MvxViewModelRequest request)
        {
            if (_viewFinder == null)
            {
                _viewFinder = Mvx.Resolve <IMvxViewsContainer> ();
            }

            try
            {
                return(_viewFinder.GetViewType(request.ViewModelType));
            }
            catch (KeyNotFoundException)
            {
                var pageName = GetPageName(request);
                return(request.ViewModelType.GetTypeInfo().Assembly.CreatableTypes()
                       .FirstOrDefault(t => t.Name == pageName));
            }
        }
        protected override IMvxView Convert(Type viewModelType, Type targetType, object parameter, CultureInfo culture)
        {
            Type viewType = ViewsContainer.GetViewType(viewModelType);

            return(viewType != null ? (IMvxView)Activator.CreateInstance(viewType) : null);
        }