2012-11-01 265 views
-2

我想知道,如果我们写一个事件下面的代码:Windows Phone 7的

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

这将始终定位到第一页。为什么,以及如何在第2页上导航时覆盖此类行为?

回答

1

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

编辑: 你可以取消在第一次调用导航()无论是在源页面的NavigatedFrom处理程序,目标页面的NavigatedTo处理或在App类的Navigating处理程序。致电event.Cancel = true;取消导航。

+0

但我想要的情景(或代码),当第二个导航请求来了,取消第一个,并开始第二个导航。有什么办法可以实现它吗? – Sid

+0

我编辑了我的答案。 –