嗨 我正在尝试延迟屏幕导航。加载 MainPage 屏幕后,我想在 3 秒后导航到 MainMenu 屏幕。我为此编写了以下代码。
public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(Default_Loaded);
}
private void Default_Loaded(object sender, RoutedEventArgs e)
{
Thread.Sleep(3000);
this.NavigationService.Navigate(new Uri("/MyProject;component/MainMenu.xaml", System.UriKind.RelativeOrAbsolute));
}
但是这段代码好像不行。预期的延迟(3 秒)不存在。有人可以帮忙吗?
最好的问候
最佳答案
您可以尝试两件事(以及最后一分钟的想法)。
1st,我看到有人提示 Thread.Sleep() 不工作,但在每种情况下他们都是在 UI 线程上进行的。我自己成功地使用了 Thread.Sleep() ,但是这样做时它一直在后台工作线程中。我还没有对此进行进一步调查,但您可能想检查一下。
这里有一个关于使用后台 worker 的很好的演练(由 Pham Tien Sinh 在 msdn 上发布)。
Phạm Tiểu Giao - Threads in WP7
第二,您也可以实现一个计时器。这里有两个选项。
DispatcherTimer Class (System.Windows.Threading)
Timer Class (System.Threading)
哦,想到的另一件事,因为您正在做一些启动导航技巧...查看 Peter Torr 关于地点和重定向导航主题的帖子。您可能会在那里找到一些有用的 gem ,具体取决于您要做什么。无论如何都要注意的好内容。
关于c# - Windows 7 Phone - 延迟屏幕导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4075084/