2012-11-01 309 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

我編輯了我的答案。 –