• 【Windows Phone 8】 Progressbar相关的UI阻塞的问题


    【问题描述】:

    步骤:

    1.客户端请求服务器端数据,开始请求时,界面弹出PopUp其中显示Progressbar不停地滚动。

    2.当服务器端有数据返回时,界面上的列表Listbox开始展示数据,并且隐藏显示Progressbar的这个Popup。

    问题出现在第2步,UI线程需要同时加载Listbox展示数据,又要隐藏Progressbar,此时可能会出Progressbar卡住不动,直到Listbox数据加载完成。

    【可能原因分析】:

    1.Listbox中图片解析耗时

    2.Listbox初次加载耗时

    【解决办法】:

    调用UIElement的UpdateLayout()方法强制更新,使得获取数据后强制隐藏Progressbar。至于具体原因以及更好的解决方法有待继续研究。

    【备注】:

    涉及到UI操作,尽量使用

    Deployment.Current.Dispatcher.BeginInvoke(() =>
                            {
                                //ToDo...
                            });

    因为这是异步执行的,能够防止UI阻塞。

  • 相关阅读:
    uva 550
    uva 10110
    uva 10014
    uva 10177
    uva 846
    Dear Project Manager, I Hate You
    创业型软件公司的心得
    架构设计的心得
    程序员常去的103个网站
    66个经典源码网站
  • 原文地址:https://www.cnblogs.com/fb-boy/p/3499447.html
Copyright © 2020-2023  润新知