-2

我想知道如果我们在事件上编写以下代码:

    this.NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.RelativeOrAbsolute));
    this.NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.RelativeOrAbsolute));

这将始终导航到 Page1。如果我必须在 Page2 上导航,为什么以及如何覆盖这种行为?

4

1 回答 1

1

Navigate() 方法是一种异步方法。可能是您的第二个调用在第一个“导航”仍在进行时执行,因此被取消。尝试在两者之间添加一个小停顿来检查这一点。

编辑:您可以在源页面的NavigatedFrom处理程序、目标页面的NavigatedTo处理程序或App 类的Navigating处理程序中取消对 Navigate() 的第一次调用。调用event.Cancel = true;取消导航。

于 2012-11-01T07:26:55.610 回答