c# - Windows 7 Phone - 延迟屏幕导航

标签 c# windows-phone-7 navigation delay sleep

嗨 我正在尝试延迟屏幕导航。加载 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 ,具体取决于您要做什么。无论如何都要注意的好内容。

Introducing the concept of “Places” - Peter Torr's Blog

Redirecting an initial navigation - Peter Torr's Blog

关于c# - Windows 7 Phone - 延迟屏幕导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4075084/

相关文章:

C# - 实时更新图表

c# - 您可以使用 LINQ 或 LAMBDA 表达式对一行中的字符串进行反向排序吗

c# - 如何删除 Windows 模拟器中的调试字符串?

css - 用户向下滚动时扩展和更改导航栏

html - 使用 <select> 创建下拉菜单导航

c# - 尝试使用 Content-Type application/x-www-form-urlencoded 访问 API

c# - 将大文件发布到 Dropbox

audio - 声音第一次不播放。为什么?

c# - 我应该在 Windows Phone 8 中将异步调用转换为同步吗?

css - 如何使字体与其他字体相同?