public async Task WhenNavigatingForward_PageNavigatedEventHasCorrectTo() { PageNavigatedEventArgs <TestViewModel> args = null; target.PageNavigated += (s, e) => args = e; var first = new TestViewModel(); await target.NavigateAsync(first, waitFor : false, ct : CancellationToken.None); Assert.That(args.To, Is.SameAs(first)); }
public async Task <NavigationDirection> WhenNavigatingBack_PageNavigatedEventHasCorrectDirection(bool isManual) { await target.NavigateAsync(new TestViewModel(), waitFor : false, ct : CancellationToken.None); await target.NavigateAsync(new TestViewModel(), waitFor : false, ct : CancellationToken.None); PageNavigatedEventArgs <TestViewModel> args = null; target.PageNavigated += (s, e) => args = e; await target.GoBackAsync(isManual); return(args.Direction); }
public async Task WhenNavigatingBack_PageNavigatedEventHasCorrectTo(bool isManual) { var first = new TestViewModel(); await target.NavigateAsync(first, waitFor : false, ct : CancellationToken.None); await target.NavigateAsync(new TestViewModel(), waitFor : false, ct : CancellationToken.None); PageNavigatedEventArgs <TestViewModel> args = null; target.PageNavigated += (s, e) => args = e; await target.GoBackAsync(isManual); Assert.That(args.To, Is.SameAs(first)); }
void ViewModel_PageNavigated(object sender, PageNavigatedEventArgs <PageViewModel> e) { switch (e.Direction) { case NavigationDirection.Forward: UpdateViewController(e.To); break; case NavigationDirection.ManualBack: isManualBack = true; try { PopViewController(animated: true); } finally { isManualBack = false; } break; } Console.WriteLine($"NavigationController stack depth after navigation {ViewControllers.Length}"); }
void NavigationService_PageNavigated(object sender, PageNavigatedEventArgs <PageViewModel> e) { UpdateFragment(isBack: e.Direction.IsBack(), isAnimated: true); }
private void NavigationService_PageNavigated(object sender, PageNavigatedEventArgs <PageViewModel> e) { CurrentPage = e.To; }