2012-04-12 19 views
-1

我有一个WPF应用程序,它具有大型数据绑定的复杂UI。我正在使用WCF异步调用服务器的数据。从服务器获取数据需要大约4秒的时间,而对于XAML绑定需要大约6秒的时间。为了获得用户通知,我给出了一个正常运行的忙指标(进度条上显示进度),直到客户端达到的数据。当我将该结果分配给XAML时,它(忙指示符)将变得无反应(也是主窗口)。是否由于单个UI线程?是否有可能在WCF异步调用内的单独线程(如后台工作者)中显示繁忙指标?或者是处理这种情况的其他好方法?Busy Indicator在XAML上没有响应加载

busyIndicator.IsBusy = true;  

ServiceAgentInstance.GetAll((s1, e1) =>  
    {  
     ObservableCollection<Model> collection = e1.Result; 
     busyIndicator.IsBusy = false; 
    }); 

感谢

+1

请发表您的代码 – ChrisF 2012-04-12 11:45:27

+0

busyIndi​​cator.IsBusy = true; ServiceAgentInstance.GetAll((S1,E1)=> { 的ObservableCollection 集合= e1.Result; busyIndi​​cator.IsBusy = FALSE; }); – Dennis 2012-04-12 11:58:52

+0

将代码编辑到问题中 – ChrisF 2012-04-12 12:00:44

回答

2

这听起来像你正在做应该避免在UI线程上的WCF请求。尝试使用BackgroundWorker来发出您的请求,该请求应该释放您的UI线程以为繁忙指示器设置动画。

相关问题