我有一個Windows Phone 7.5應用程序,它使用NavigationService.GoBack()方法在主頁面(MainPage.xaml,PhoneApplicationPage)和輔助頁面(Views/ModelLoad.xaml,託管Panorama的PhoneApplicationPage控制在主網格內)。調試NavigationService.GoBack()問題的最佳方法?
我成功地從MainPage.xaml導航到ModelLoad.xaml頁面。一旦模型被ModelLoad.xaml加載(使用實時連接SDK),我稱之爲
this.NavigationService.GoBack();
我可以設置在回調斷點NavigationService.Navigating(),請注意,被稱爲。但是,事後沒有其他事情發生,沒有NavigationFailed事件引發,並且UI不會更改。如果我指定一個不存在的頁面的URI,也會發生同樣的情況。
我曾嘗試使用
if (NavigationService.CanGoBack) this.Dispatcher(() => NavigationService.GoBack());
,但沒有表現出任何不同的行爲。
有沒有辦法來調試這個問題找出爲什麼導航沒有發生?
更新:它似乎與線程和焦點有關。在使用Live Connect SDK從SkyDrive下載文件後,將從回調中調用導航。如果我在此頁面上添加一個按鈕並在click事件處理程序中調用NavigationService.GoBack(),則UI成功導航回到上一頁。
你在哪裏第一次嘗試調用NavigationService.GoBack()? – BigL
回調正在使用的NavigationService實例,它從哪裏得到的?它是從ModelLoad.xaml傳遞給回調的NavigationService的實例嗎?你有一個簡單的repro應用程序? –