如何在 WPF 中执行操作之前延迟

2024-05-04

我尝试使用下面的代码在导航到下一个窗口之前延迟 2 秒。但线程首先调用,文本块显示一微秒并进入下一页。我听说调度员会这样做。

这是我的片段:

tbkLabel.Text = "two mins delay";
Thread.Sleep(2000);
Page2 _page2 = new Page2();
_page2.Show();

对 Thread.Sleep 的调用正在阻塞 UI 线程。您需要异步等待。

方法1:使用DispatcherTimer

tbkLabel.Text = "two seconds delay";

var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(2) };
timer.Start();
timer.Tick += (sender, args) =>
    {
        timer.Stop();
        var page = new Page2();
        page.Show();
    };

方法2:使用Task.Delay

tbkLabel.Text = "two seconds delay";

Task.Delay(2000).ContinueWith(_ => 
   { 
     var page = new Page2();
     page.Show();
   }
);

方法 3:.NET 4.5 方式,使用 async/await

// we need to add the async keyword to the method signature
public async void TheEnclosingMethod()
{
    tbkLabel.Text = "two seconds delay";

    await Task.Delay(2000);
    var page = new Page2();
    page.Show();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 WPF 中执行操作之前延迟 的相关文章

随机推荐

  • 当调用带有警告“控制到达非空函数末尾”的函数时(实际上)会发生什么?

    我知道这条消息的含义 我只是想知道为什么会这样not一条错误消息 但只是一个警告 在这种情况下会发生什么 例如 假设我有一个函数 int f 当我调用它时会发生什么 编译器是否添加了 未初始化 的返回int在这种情况下 或者丢失的返回可能会
  • SQL WHERE 语句?

    如果我想返回 A 列为 null 或 B 列为 null 的行 但不返回两者都为 null 的行 那么我的 WHERE 子句应该在 SQL 语句中是什么 WHERE ColA is NULL AND ColB is NOT NULL OR
  • 如何从不同 JVM 中的独立 java 程序调用 EJB

    我使用具有 glassfish 服务器的 NETbeans IDE 开发了 EJB 我可以从独立的java调用它 只要这个java项目是在NETbeans下开发并在相同的JRE下运行的 但我需要找出如何在不同的 jre 中运行它 我在这方面
  • Iron 路由器中的多个订阅

    我一直在开发一个使用评论功能的应用程序 这导致必须订阅发表评论的集合和评论集合本身 现在看起来像这样
  • Facebook 页面插件无法运行 - 仅适用于一个网站

    我已将页面插件集成到我的目录中 ruhrlink de info php schluessel 150991 不起作用 其他的可以 当我在开发者网站 gt 页面插件中手动输入网址时 它在那里也不起作用 https www facebook
  • QMainWindow::showMaximized() 不更新大小

    我正在尝试创建一个QMainWindow封装一个QGraphicsView我把它放进去 我希望它一开始就最大化 所以我这样做 QMainWindow mainWindow new QMainWindow mainWindow gt setW
  • 使用常量 NSString 作为 NSUserDefaults 的键

    我正在使用 NSUSerDefaults 来存储用户首选项 我记得在某处读到过 将键设置为常量是一个好主意 我同意 以下代码是我目前拥有的 NSUserDefaults standardUserDefaults setObject NSNu
  • AVAudioRecorder 未写出正确的 WAV 文件头

    我正在 iPhone 上开发一个项目 我使用 AVAudioRecorder 从设备麦克风录制音频 然后对录音进行操作 为了确保我正确地从文件中读取样本 我使用 python 的 wave 模块来查看它是否返回相同的样本 然而 当尝试打开
  • 错误:从内部类内部访问局部变量 a;需要宣布最终

    class Outer void m1 int a 12 class Inner void show System out println a new Inner show 在这里 当我编译此代码时 我收到错误 即局部变量 a 是从内部类中
  • Android 模拟器 x86 HAXM GPU Windows 7 崩溃 BSOD

    我不懂英语 但我会尽力解释 我使用最新版本的 Android SDK 从 AVD Manager 模拟器 intel x86 和 intel HAXM 运行 它工作正常 但是当我启用主机 GPU 时 Windows 7 崩溃 BSOD 这种
  • 确定非空列表条目是否“连续”的 Pythonic 方法

    我正在寻找一种方法来轻松确定列表中所有非 None 项目是否出现在单个连续切片中 我将使用整数作为非 None 项目的示例 例如 列表 None None 1 2 3 None None 满足我对连续整数条目的要求 相比之下 1 2 Non
  • 推进并离开加入

    在教义中我可以 q Doctrine Query create gt from One o gt where t text aaa gt andWhere h text bbb gt leftJoin o Two t gt leftJoin
  • 如何在 VBA 中克隆范围对象

    我正在使用 Excel Visual Basic 编辑器在 VBA 中编写 Excel 宏 我不知道如何复制 克隆范围对象 而不是创建对同一对象的第二个引用 MemberwiseClone 函数似乎不可用 我认为它将针对内置类型实现 我需要
  • 路由器在 Ionic 上导航,并在 ios 上使用角度动画闪烁动画

    我正在使用 angular animations 在 Ionic v4 上的两个页面之间设置页面转换 这一切在 chrome 上都很好用 但在 safari 上却不行 在一个只有两个页面 热切加载 的简单应用程序上 我仍然遇到问题 与我尝试
  • android 录音时可以静音吗

    我想构建一个应用程序 我想在通话中调制声音 我编写了一段代码来记录声音并以不同的音调播放它 现在我想要在通话时使用此功能 我想将通话静音 记录声音然后以不同的音调播放它 如何将通话静音但仍录制音频 此答案可在通话期间使麦克风静音 Boole
  • NetBeans IDE 在“清理和构建”或外部更改时发出异常编译器错误。IDE 无法识别 JPA 生成的静态元模型

    我已经完全厌倦了使用 NetBeans IDE 8 x 目前使用 8 0 1 几个月了 它看起来就像地狱 说真的 当对项目 尤其是 Java EE Web 应用程序 在不同包中包含数百个 Java 类 进行一些外部更改或尝试清洁和构建项目
  • Notepad++ SourceCookifier 插件在大型 C++ 标头上非常慢

    我喜欢在 Notepad 中浏览我的 C 项目 我使用 SourceCookifier 插件来轻松地在大文件的定义之间跳转 但是 如果我加载一个大的 C 头文件 大约 30 000 行 其中有很多 define and typedef里面的
  • User.Identity.GetUserId 是缓存还是每次都从数据库获取?

    我正在使用 ASP Net MVC 5 并且我在我的代码中调用这一行 string userId User Identity GetUserId ASP NET MVC 是否会在每次调用时从表中获取此数据 还是将其缓存 查看 Microso
  • 一次向字符串添加一行

    我有这个程序 可以让你打开一个文件并将其读入一个JTextArea使用以下代码一次性完成所有操作 try String fileContents new Scanner new File fileName useDelimiter Z ne
  • 如何在 WPF 中执行操作之前延迟

    我尝试使用下面的代码在导航到下一个窗口之前延迟 2 秒 但线程首先调用 文本块显示一微秒并进入下一页 我听说调度员会这样做 这是我的片段 tbkLabel Text two mins delay Thread Sleep 2000 Page