none
如何解决页面没有显示的时候定时器刷新的问题? RRS feed

  • 常规讨论

  • 比如我在页面中做一个曲线控件..

    然后我用定时器每隔10秒中在曲线控件中增加一个点.当大曲线大于5个点的时候我就删除第一个..再往后面加一个.(始终保持5个点)
    (大概意思)
    linserices line = new linserices
    line.IBinding =..
    line.DBinding =..
    line.itemsSource = ObserableCollection<T>();


    如果我把这个页面一直打开不管..获知我切换到另外一个页面去的时候.

    过了一段时间我再回来看这个页面.... 就会出现页面无响应的情况.... 但可以通过等待较长的时候恢复过来..


    请问是不是 silvelight 内部机制导致的.....在页面不处于可见状态时...不经行 页面重绘..而是等到切换到这个页面时再集中重绘页面的.

    2009年10月16日 13:36

全部回复

  • 有什么办法解决这个问题吗 ?

    比如这种要重绘的控件一多.我页面开放那不管的时间越长...  就真会卡死了.

    2009年10月16日 13:37
  • 楼主能帮忙看吓吗 ?

    是不是 silvelight在不显示的情况吓不重绘页面 ?
    2009年10月19日 13:21
  • 不能解决了......  

       只有另想办法了.

    2009年10月20日 13:42
  • 关于定时器的问题我也觉得很困惑,最后我只能用一个静态方法来关闭计时器……
    http://social.microsoft.com/Forums/zh-CN/silverlightzhchs/thread/b56552b6-bb6c-43d0-83c5-28889e65a56b

    2009年10月26日 8:45
  • 你误解我的意思了。

    我现在不需要停止定时器。  而是想知道silverlight 在页面没有显示的情况下是如何工作的。

    比如我打开一个silverlight有定时器刷新的页面。

    然后我就去干别的去了。。。(或者看电影去了) 当前silverlight 定时器页面处于隐藏状态。

    然后我过了一段时间后再来看silverlight页面 发现内存数据(定时器请求过来的数据)是最新的。
    但是好多数据都是实现了 INoti (那个更改页面显示的接口)  要去更新页面。 我再来看时 他没有去更新页面。。

    而是当我把silverlight这个页面呈现在显示器上时才统一更新。。如果数据一多 页面容易出现卡死现象。。

    我用的是silverlight 2.0版本。。

    哇。。好累。。。
    2009年10月26日 9:16