【问题标题】:Busy Indicator not responding on XAML loading加载 XAML 时忙碌指示器没有响应
【发布时间】:2012-04-24 18:11:51
【问题描述】:

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

busyIndicator.IsBusy = true;    

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

谢谢

【问题讨论】:

  • busyIndi​​cator.IsBusy = true; ServiceAgentInstance.GetAll((s1, e1) => { ObservableCollection 集合 = e1.Result;busyIndi​​cator.IsBusy = false; });
  • 将代码编辑到问题中

标签: wpf busyindicator


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-25
    • 2018-11-04
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    相关资源
    最近更新 更多