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

常规讨论
-
比如我在页面中做一个曲线控件..
然后我用定时器每隔10秒中在曲线控件中增加一个点.当大曲线大于5个点的时候我就删除第一个..再往后面加一个.(始终保持5个点)
(大概意思)
linserices line = new linserices
line.IBinding =..
line.DBinding =..
line.itemsSource = ObserableCollection<T>();
如果我把这个页面一直打开不管..获知我切换到另外一个页面去的时候.
过了一段时间我再回来看这个页面.... 就会出现页面无响应的情况.... 但可以通过等待较长的时候恢复过来..
请问是不是 silvelight 内部机制导致的.....在页面不处于可见状态时...不经行 页面重绘..而是等到切换到这个页面时再集中重绘页面的.2009年10月16日 13:36
全部回复
-
关于定时器的问题我也觉得很困惑,最后我只能用一个静态方法来关闭计时器……
http://social.microsoft.com/Forums/zh-CN/silverlightzhchs/thread/b56552b6-bb6c-43d0-83c5-28889e65a56b2009年10月26日 8:45 -
你误解我的意思了。
我现在不需要停止定时器。 而是想知道silverlight 在页面没有显示的情况下是如何工作的。
比如我打开一个silverlight有定时器刷新的页面。
然后我就去干别的去了。。。(或者看电影去了) 当前silverlight 定时器页面处于隐藏状态。
然后我过了一段时间后再来看silverlight页面 发现内存数据(定时器请求过来的数据)是最新的。
但是好多数据都是实现了 INoti (那个更改页面显示的接口) 要去更新页面。 我再来看时 他没有去更新页面。。
而是当我把silverlight这个页面呈现在显示器上时才统一更新。。如果数据一多 页面容易出现卡死现象。。
我用的是silverlight 2.0版本。。
哇。。好累。。。2009年10月26日 9:16