忙指示器在 XAML 加载时没有响应



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

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

谢谢

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

最新更新