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