示例#1
0
        public Page Create(Type type, object parameter)
        {
            Page page = null;

            if (Resolver.IsEnabled)
            {
                page = (Page)Resolver.Resolve(type);

                var view = page as ViewBase;

                if (view != null)
                {
                    view.CreatedByTinyMvvm = true;

                    view.CreateViewModel();
                }

                if (view?.BindingContext is ViewModelBase)
                {
                    TinyMvvmSetup(view, parameter);
                }
                else
                {
                    if (ParameterSetter.CanSet(type))
                    {
                        ParameterSetter.Set(page, parameter);
                    }
                }
            }
            else
            {
                var defaultCreator = new DefaultViewCreator();
                page = defaultCreator.Create(type);

                var view = page as ViewBase;

                if (view != null)
                {
                    view.CreatedByTinyMvvm = true;

                    view.CreateViewModel();
                }

                if (view?.BindingContext is ViewModelBase)
                {
                    TinyMvvmSetup(view, parameter);
                }
                else
                {
                    if (ParameterSetter.CanSet(type))
                    {
                        ParameterSetter.Set(page, parameter);
                    }
                }
            }

            return(page);
        }
示例#2
0
        public Page Create(Type type, object parameter)
        {
            if (ParameterSetter.CanSet(type))
            {
                var page = Create(type);

                ParameterSetter.Set(page, parameter);

                return(page);
            }
            else
            {
                return((Page)Activator.CreateInstance(type, parameter));
            }
        }