private async Task <bool> NavingFromAsync(Portable.INavigatingAwareAsync viewmodel, Page page, object currentParameter, bool suspending, NavigationMode navigationMode, Type targetPageType, object targetParameter) { var deferral = new Template10.Mobile.Common.DeferralManager(); var navigatingEventArgs = new Portable.NavigatingEventArgs(deferral) { Page = page, Parameter = currentParameter, Suspending = suspending, NavigationMode = navigationMode.ToTemplate10NavigationMode(), TargetPageType = targetPageType, TargetPageParameter = targetParameter, }; try { await viewmodel.OnNavigatingFromAsync(navigatingEventArgs); await deferral.WaitForDeferralsAsync(); } catch { Debugger.Break(); } return(navigatingEventArgs.Cancel); }
public bool RaiseNavigatingCancels(object page, object parameter, bool suspending, Portable.NavigationMode mode, Type targetType) { var navigatingDeferral = new Template10.Mobile.Common.DeferralManager(); var navigatingEventArgs = new Portable.NavigatingEventArgs(navigatingDeferral) { Page = page, Parameter = parameter, Suspending = suspending, NavigationMode = mode, TargetPageType = targetType, TargetPageParameter = parameter, }; RaiseNavigating(navigatingEventArgs); return(navigatingEventArgs.Cancel); }