internal static void PagePopped(YamvvmPage modelPage) { if (_pageHandler.Count > 0 && modelPage == _pageHandler.Peek().Page) { _pageHandler.Pop(); } }
internal static bool IsModal(YamvvmPage modelPage) { if (_pageHandler.Count > 0 && modelPage == _pageHandler.Peek().Page) { return(_pageHandler.Peek().IsModal); } return(false); }
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(); }); } }
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 } }