C# 直到mvvp应用程序中的过程结束,小时窗才会显示

C# 直到mvvp应用程序中的过程结束,小时窗才会显示,c#,wpf,C#,Wpf,我一直在开发自定义ms word应用程序的代码,并正在从exchange server获取数据并进行显示。所以,在数据到达微软word之前,我想显示“忙”时窗符号。但是在按钮处理程序执行完毕(几秒钟的时间)之后,忙碌的符号就消失了 我在ms word自定义功能区中有一个名为“接收”的按钮,因此当我按下该按钮时,需要加载忙符号,直到数据从exchange发送到ms word为止,符号必须保留 我正在使用以下代码:- public class MyCursor : IDisposable {

我一直在开发自定义ms word应用程序的代码,并正在从exchange server获取数据并进行显示。所以,在数据到达微软word之前,我想显示“忙”时窗符号。但是在按钮处理程序执行完毕(几秒钟的时间)之后,忙碌的符号就消失了

我在ms word自定义功能区中有一个名为“接收”的按钮,因此当我按下该按钮时,需要加载忙符号,直到数据从exchange发送到ms word为止,符号必须保留

我正在使用以下代码:-

public class MyCursor : IDisposable
{     
private Cursor _preappCursor;      
public MyCursor ()     
{         
_preappCursor= Mouse.OverrideCursor;          
Mouse.OverrideCursor = Cursors.Wait;     
}      
#region IDisposable Members     
 public void Dispose()     
{         
Mouse.OverrideCursor = _preappCursor;     
}      
#endregion 
} 


using(new MyCursor ()) 
{     
//Receive side bar calls the exchange code here and display in ms-word
} 

您正在GUI线程上执行长时间运行的操作吗?如果是这样,GUI可能没有响应,这将导致UI故障。因此,请确保在后台线程上运行长时间运行的操作。

使用后台工作程序从exchange server检索数据。将该功能封装在BackgroundWorker_DoWork()中。这次将光标更改为“忙”,然后将其保留
后台工作程序完成其作业后,将光标更改回“\u preappCursor”。将此功能封装在BackgroundWorker_RunWorkerCompleted()中
有关Wpf后台工作人员的详细信息


希望这能对您有所帮助。

相关:您好,我已经按照上面的链接更新并测试了代码,但无法获得它。谢谢