用于处理的线程块
|
我正在编写C#wpf应用程序,因此我需要阻止处理以便等待事件。
如果使用Thread.Sleep(),则永远不会触发该事件,UI也会挂起,因此我不知道该怎么办。
switch (process.Action)
{
case 1:
this.Goto(process.VarValue);
break;
case 2:
this.Extract(process.VarKey, process.VarValue);
break;
case 3:
this.Validate(new string[] { });
break;
default:
break;
}
与“提取”情况类似,它获取信息并将事件发送到服务,该服务打开另一个WPF窗口,该窗口弹出,要求用户输入。
UI会显示,但提交按钮会挂起,然后应用程序会挂起,这是因为我使用unity和eventaggregator(也是wpf的Magellan)挂起,因此项目变得越来越复杂。
我正在尝试一种更简单的线程等待用户输入的方法。
请指教。
线程启动=>切换
在提取情况下=>发送事件以弹出服务打开(wpf窗口,供用户输入)
我正在使用thread.sleep(1000)直到服务发送响应事件
但是应用程序在使用thread.sleep(包括(弹出窗口))时挂起。
我想在主线程上等待用户输入。
没有找到相关结果
已邀请:
1 个回复
倪蕊悲潍
打开弹出窗口。仅在再次关闭弹出框后,Showdialog才会返回。看这里。无需复杂的线程扫描。