【发布时间】:2023-04-04 22:28:02
【问题描述】:
我已经尝试了几个在线示例(Thread、Dispatcher、await/async),但在我的 C#/WPF 项目中没有一个对我有用。
我有如下按钮点击方法:
private void BtnInstall_Click(object sender, RoutedEventArgs e)
{
this.lblResponse.Content = "";
executeInstall(); //do some work
this.lblResponse.Content = "DONE";
}
标签在之后更新为 DONE,但是当我再次单击按钮时,标签在执行安装处理之前没有被清空。 正如我所提到的,我已经尝试了来自其他问题的几个不同示例(Dispatcher.BeginInvoke、Thread、Task、await/async),但它们都没有奏效——之前的标签更改从未在 executeInstall 处理之前完成。
我正在使用 .NET 框架 4.7.2。
是否存在调试模式仅使用一个线程执行程序的设置,这可能是为什么没有一个解决方案适合我?
【问题讨论】:
-
异步等待是您的解决方案
标签: c# wpf multithreading user-interface