在silverlight中控制滑块值更改事件

在silverlight中控制滑块值更改事件,silverlight,events,slider,Silverlight,Events,Slider,我在Silverlight 3.0应用程序中有一个子窗口。在那个应用程序中,我有一个滑块。每当我滑动滑块时,slider_ValueChanged事件在一秒钟内触发30多次。我想控制触发的事件数?我使用的滑块如下所示: 事件sliderValueChanged需要一点时间来执行。所以我只想减少对该事件的调用数量 编辑:实际上,我的问题是在子窗口中,我正在绘制多个波形。在不加载波形的情况下,滑块工作正常(空屏幕),但当我在屏幕上加载波形时,它就不能正常工作。(它不是显示连续的平滑移动,而是跳跃。

我在Silverlight 3.0应用程序中有一个子窗口。在那个应用程序中,我有一个滑块。每当我滑动滑块时,slider_ValueChanged事件在一秒钟内触发30多次。我想控制触发的事件数?我使用的滑块如下所示:

事件sliderValueChanged需要一点时间来执行。所以我只想减少对该事件的调用数量


编辑:实际上,我的问题是在子窗口中,我正在绘制多个波形。在不加载波形的情况下,滑块工作正常(空屏幕),但当我在屏幕上加载波形时,它就不能正常工作。(它不是显示连续的平滑移动,而是跳跃。)我不知道到底是什么问题?以及如何克服它?

让您的
sliderValueChanged
事件保存当前(最新)滚动值,并使用计时器定期检查该数字的更改(例如每秒30帧或每秒60帧)


Silverlight中的默认值为每秒60帧。您的更新越接近刷新率,它就会显示得越平滑。

:谢谢,但实际上我的sliderValueChanged函数执行起来只需要不到一毫秒的时间。因此我认为此解决方案对我不适用。您能提供其他解决方案吗?您想要什么行为?顺利更新?平滑滚动?您可以对上述解决方案应用任何时间间隔(最短约55毫秒)。基本原则是忽略不需要的额外事件,但不要丢失最后一个:)谢谢回复。我只想平滑滚动滑块。在sliderValueChanged事件中,我只是将新值分配给变量之一。没有任何其他操作。我在slider\u MouseLeftButtonUp事件后进行屏幕刷新,而不是在sliderValueChanged事件上。听起来它应该只在鼠标向上时绘制一次。滑块是否连接到以任何方式渲染波形的控件?如果是这样,则不需要手动渲染(并且可能会因内置滚动而导致冲突)。我只在鼠标向上事件中绘制一次。您能告诉我何时滑动滑块,然后再次滑动其渲染总屏幕,或者仅在内部渲染滑块以显示滑块的新位置吗?您能显示渲染代码吗?你说渲染只需要1毫秒,但这将与屏幕刷新率不同步(会发生剪切等)。最好以大约刷新率(30或60Hz)调用它。