Ejemplo n.º 1
0
 internal static void PagePopped(YamvvmPage modelPage)
 {
     if (_pageHandler.Count > 0 && modelPage == _pageHandler.Peek().Page)
     {
         _pageHandler.Pop();
     }
 }
Ejemplo n.º 2
0
        internal static bool IsModal(YamvvmPage modelPage)
        {
            if (_pageHandler.Count > 0 && modelPage == _pageHandler.Peek().Page)
            {
                return(_pageHandler.Peek().IsModal);
            }

            return(false);
        }
Ejemplo n.º 3
0
        private static async Task DestroyPageViewModel(YamvvmPage page)
        {
            if (page.BindingContext is YamvvmViewModel vm)
            {
                if (vm.ModelPage != null)
                {
                    vm.ModelReady -= vm.ModelPage.ModelReady;
                }

                await DoAsyncWithoutWaiting(async() =>
                {
                    await vm.Destroy();
                });
            }
        }
Ejemplo n.º 4
0
        private static async Task InitialisePageViewModel(YamvvmPage page, YamvvmViewModel vm)
        {
            if (page != null && vm != null)
            {
                vm.ModelPage   = page;
                vm.ModelReady += page.ModelReady;


#if DEBUG
                var vmtype = vm.GetType().Name;
                var sw     = System.Diagnostics.Stopwatch.StartNew();
                System.Diagnostics.Debug.WriteLine("Starting init of VM {0}", vmtype);
#endif

                await vm.Initialise();

#if DEBUG
                sw.Stop();
                System.Diagnostics.Debug.WriteLine("Finished init of VM {0} ({1}ms)", vmtype, sw.ElapsedMilliseconds);
#endif
            }
        }