Пример #1
0
		public async Task<bool> GoBackToAsync(PageDescription page)
		{
			var index = pages.IndexOf(page);
			return await GoBackToAsync(index);
		}
Пример #2
0
		private async Task<bool> CallOnNavigatingFrom(PageDescription description, NavigationMode mode)
		{
			var page = description.GetPage(this);
			var args = new NavigatingCancelEventArgs();
			args.Content = page;
			args.SourcePageType = description.Type;
			args.NavigationMode = mode;
			await page.InternalOnNavigatingFrom(args);
			return args.Cancel; 
		}
Пример #3
0
		private void CallOnNavigatedTo(PageDescription description, NavigationMode mode)
		{
			var page = description.GetPage(this);
			var args = new NavigationEventArgs();
			args.Content = page;
			args.SourcePageType = description.Type;
			args.Parameter = description.Parameter;
			args.NavigationMode = mode;
			page.InternalOnNavigatedTo(args);

			if (Navigated != null)
				Navigated(this, args);
		}
Пример #4
0
		private void NavigateInternal(Type type, object parameter)
		{
			var oldPage = CurrentPage;
			RemoveAllAfterCurrent(); 

			var newPage = new PageDescription(type, parameter);
			pages.Add(newPage);
			currentIndex++; 

			Content = newPage.GetPage(this);
			if (oldPage != null)
				CallOnNavigatedFrom(oldPage, NavigationMode.Forward);
			CallOnNavigatedTo(newPage, NavigationMode.New);
		}