簡體   English   中英

在 UWP 中一段時間后自動導航到新頁面

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM