none
同步方式下如何动态更新UI界面?能否办到,请高手回答,哪怕答一个“否”字,同样感谢。 RRS feed

  • 问题

  • 1)我的要求就是实现ShowWait()子程序。
    2)程序的逻辑结构大致如下,请不要对逻辑结构进行修改。

    '--------------------------------------------------------
    '假设页面有一TxtStatus的文本框元素
    '--------------------------------------------------------
    Sub Start()
         Call ShowWait()      '实际上,这里的UI界面得不到更新,不会显示“正在处理数据,请稍候....”
         Call SyncTask()
         Call ShowReady()   ’因为整个工作结束,因此这里会显示出“就绪”
    End Sub
    Sub SyncTask()
         '这里通过同步模式访问Web数据库,可能需要耗费比较长的时间
         '我不喜欢SL的异步模式,所以用XmlHttp的同步模式实现对
         'Web数据库的访问
    End Sub
    Sub ShowWait()
        TxtStatus.Text = "正在处理数据,请稍候...."
    End Sub
    Sub ShowReady()
        TxtStatus.Text = "就绪"
    End Sub
    2009年11月23日 4:45

答案

全部回复

  • 在JavaScript Callback Silverlight object里的方法。请参考JS和SL交互的方法。

    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com

    2009年11月23日 7:33
    版主
  • 这个和JS有啥关系。。。。

    因为SL的UI线程只有一个,所以会有问题

    使用另一个线程处理数据就可以了
    www.earan.com.cn/sl/ 是我们Earan Silverlight Team的Demo! 大家帮忙在Showcase上投票哈! http://silverlight.net/showcase/ 按照时间排序第11个。左边地区选中国,时间排序第1个
    2009年11月24日 12:09
  • 你们都是想当然,你实现一下,我就服!
    多开线程也无用。不信你试验。因为新的线程肯定要用到 HtmlPage(注意我是通过XmlHttp同步取数据),所以也不能更新界面。
    我甚至用了两个Sl.xap来通讯,也无法解决。
    2009年11月24日 18:44
  • 你可以不喜欢异步。。也可以一定要通过ajax获取数据。。但是UI线程只有一个

    你服不服别人不重要,你服Silverlight就可以了
    www.earan.com.cn/sl/ 是我们Earan Silverlight Team的Demo! 大家帮忙在Showcase上投票哈! http://silverlight.net/showcase/ 按照时间排序第11个。左边地区选中国,时间排序第1个
    2009年11月25日 7:22
  • SL仅支持异步模式,有时候会使得程序结构变得非常复杂。
    希望SL以后也要支持同步模式。
    2009年11月28日 6:54
  • SL目前只支持异步


    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com

    2009年11月28日 14:05
    版主