【问题标题】:c# scrollviewer and dispatch timer firing problemsc# scrollviewer 和 dispatch timer 触发问题
【发布时间】:2012-06-08 20:07:37
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# windows-phone-7 xaml timer scrollviewer


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-03
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      • 2018-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多