1

因此,当滚动查看堆栈面板中包含大约 100 个小矩形的滚动查看器时,我的调度计时器的触发出现问题。

我的调度计时器每 400 毫秒触发一次,每 400 毫秒播放一次声音。如果我不触摸滚动查看器,滴答声会按应有的方式触发。但是,如果我开始四处移动滚动查看器,则刻度可以在 600-1300 毫秒左右的任何地方。

我的问题是,我可以使用什么来让每 400 秒左右发生一次事件,这样就不会因为滚动浏览器而被延迟?

这是一个 WP7 应用程序,矩形是用 xaml 制作的。

4

1 回答 1

0

DispatcherTimer 在调度程序(或 UI)线程上触发。
您正在操作滚动查看器,并且基于滚动的矩形重绘也将发生在 UI 线程上。

最简单的解决方案是使用常规计时器并每 400 毫秒触发一次。

于 2012-06-08T12:07:37.693 回答