[英]Automatically navigate to a new page after a time in UWP
我試圖在一段時間后(比如說 3 秒)轉換/導航到新頁面,但沒有任何效果。 我試過this.Frame.Navigate(typeof(NewPage));
它給了我一個錯誤“ Object 引用未設置為 object 的實例。 ”。
我也試過
Thread.Sleep(3000);
NewPage pg2 = new NewPage();
Window.Current.Content = pg2;
但它會立即導航而無需等待 3 秒。
我在 Xamarin 應用程序中也遇到了同樣的問題。
它給了我一個錯誤“對象引用未設置為 object 的實例。
請避免使用Thread.Sleep(3000)
,它會阻塞 UI 線程並使 Frame 為 null。 正如 Silent Programmer 所提到的,您可以使用DispatcherTimer
來接近。
var timer = new DispatcherTimer() { Interval = TimeSpan.FromSeconds(3) };
timer.Start();
timer.Tick += (s, e) =>
{
Frame.Navigate(typeof(NewPage));
timer.Stop();
};
您可以嘗試使用 DispatcherTimer,Dispatcher 計時器有滴答事件,將計時器從間隔設置為一秒。
寫 if 在 timer_tick 事件中並且當 tickCount 達到 3 時,導航到新頁面
注意:您可能需要使用 coreDispatcher [如果發生異常]
希望對你有幫助,如果不行請評論
謝謝你的回復。 與此同時,我已經解決了我的問題,我正在使用的代碼如下:
await Task.Delay(3000);
Frame navigationFrame = Window.Current.Content as Frame;
navigationFrame.Navigate(typeof(PageToNavigateTo));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.