用于处理的线程块

| 我正在编写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(包括(弹出窗口))时挂起。 我想在主线程上等待用户输入。     
已邀请:
Window.ShowDialog
打开弹出窗口。仅在再次关闭弹出框后,Showdialog才会返回。看这里。无需复杂的线程扫描。     

要回复问题请先登录注册