微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 UWP 中一段时间​​后自动导航到新页面

如何解决在 UWP 中一段时间​​后自动导航到新页面

我试图在一段时间后(假设 3 秒)转换/导航到新页面,但没有任何效果。 我试过 this.Frame.Navigate(typeof(NewPage));,它给了我一个错误未将对象引用设置为对象的实例。”。

我也试过

Thread.Sleep(3000); 
NewPage pg2 = new NewPage();
Window.Current.Content = pg2;

但它会立即导航而无需等待 3 秒。

我在 Xamarin 应用中也遇到了同样的问题。

解决方法

它给了我一个错误“对象引用未设置到对象的实例。

请避免使用Thread.Sleep(3000),它会阻塞UI线程并使Frame为空。正如 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 计时器有滴答事件,将计时器从间隔设置为一秒。

如果在 timer_tick 事件中写入并且当 tickCount 达到 3 时,导航到新页面

注意:您可能需要使用 coreDispatcher [如果发生异常]

希望能帮到你,如果不行请评论

,

感谢您的回复。 与此同时,我解决了我的问题,我使用的代码如下:

await Task.Delay(3000);

Frame navigationFrame = Window.Current.Content as Frame;
navigationFrame.Navigate(typeof(PageToNavigateTo));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?