在Xamarin的形式,在的onResume事件處理程序上的應用程序類,它是不是一個NavigationPage,所以你不能做任何導航的onResume。當我的應用程序恢復時,如果它已經睡了超過30分鐘,我希望它回到它的主頁,而不是恢復到它進入睡眠的頁面。我有在的onResume 30分鐘的陷阱,但我不能做導航。任何人都可以提出一種做法嗎?導航到的onResume默認頁面()
回答
默認情況下,在一個窗體應用程序,要存儲的MainPage
這應該是在這種情況下NavigationPage
。
public class App : Application
{
public App()
{
// The root page of your application
MainPage = new NavigationPage {
因此,您可以使用它來獲取Navigation
對象。
protected override async void OnResume()
{
var nav = MainPage.Navigation;
// you may want to clear the stack (history)
await nav.PopToRootAsync (true);
// then open the needed page (I'm guessing a login page)
await nav.PushAsync(new LoginPage());
}
很好,謝謝。我沒有意識到我可以訪問MainPage對象。你已經若有所思建議清除堆棧歷史記錄,但是當我嘗試這個,我得到一個語法錯誤:ElementAt的是不是NavigationStack的方法。你真的嘗試過嗎? – Ric
你需要添加'使用System.Linq;'Xamarin Studio並不總是幫助缺少Linq庫,因爲它們可能是擴展方法,但仍然令人討厭;-) –
嘗試更新的onResume方法是這樣的:
protected async override void OnResume()
{
await MainPage.Navigation.PopToRootAsync (true);
}
簡單的答案。非常感謝。我會選擇正確的,但Benoit首先到達那裏。 – Ric
它的方式更好,謝謝,我更新的參考答案 –
- 1. 突出默認頁面的導航條
- 2. 隱藏WordPress默認的「家」的導航頁面
- 3. 哪個頁面擊中WordPress的默認博客導航
- 4. Rails應用程序只指向默認導航索引頁面
- 5. POST到默認頁面
- 6. 默認頁面
- 7. 頁面重新導航回到頁面
- 8. 從子頁面導航到父頁面
- 9. jquery mobile導航到頁面內頁面
- 10. 默認導航欄顏色
- 11. 動態導航到頁面
- 12. 頁面導航
- 13. 頁面導航
- 14. 導航頁面?
- 15. 導航到不同頁面的網頁
- 16. 用戶第一次訪問,導航到默認頁
- 17. Tomcat默認頁面
- 18. MVC默認頁面
- 19. Squirrelmail默認頁面
- 20. 默認HTML頁面?
- 21. 域引導到nginx的默認頁面,而不是我的根
- 22. 主頁和默認頁面
- 23. 帶有AJAX的特定頁面上的jQuery fire函數阻止默認導航
- 24. 默認頁面的iis
- 25. WP7頁面導航?
- 26. 而頁面導航
- 27. 在頁面導航
- 28. JSF頁面導航
- 29. WPF頁面導航
- 30. Silverlight頁面導航?
你有任何代碼段 –