示例#1
0
        public async Task PushPageModel <T, TPage> (object data, bool modal = false, bool animate = true) where T : FreshBasePageModel where TPage : Page
        {
            T     pageModel = FreshIOC.Container.Resolve <T> ();
            TPage page      = FreshIOC.Container.Resolve <TPage>();

            FreshPageModelResolver.BindingPageModel(data, page, pageModel);
            await PushPageModelWithPage(page, pageModel, data, modal, animate);
        }
示例#2
0
        public static async Task PushPopupPageModel <T, TPopupPage>(this IPageModelCoreMethods pageModelCoreMethods, object data = null, bool animate = true)
            where T : FreshBasePageModel where TPopupPage : PopupPage
        {
            var pageModel = FreshIOC.Container.Resolve <T>();
            var page      = FreshIOC.Container.Resolve <TPopupPage>();

            FreshPageModelResolver.BindingPageModel(data, page, pageModel);
            await PushPopupPageModel(page, animate);
        }
示例#3
0
        private static async Task PushPopupPageModel(FreshBasePageModel pageModel, object data = null, bool animate = true)
        {
            var page = FreshPageModelResolver.ResolvePageModel(data, pageModel);

            FreshPageModelResolver.BindingPageModel(data, page, pageModel);

            if (page is PopupPage)
            {
                await PushPopupPageModel((PopupPage)page, animate);
            }
            else
            {
                throw new InvalidOperationException("Resolved page type is not PopupPage");
            }
        }