我在Silverlight 3.0应用程序中有一个子窗口。在那个应用程序中,我有一个Slider。每当我滑动滑块时,Slider_ValueChanged事件会在一秒钟内触发超过30次。我想控制被解雇的事件数量?我正在使用Slider:
<Slider Grid.Row="3" Height="17" HorizontalAlignment="Left" Margin="188,0,0,20" ValueChanged="sliderValueChanged" MouseLeftButtonUp="Slider_MouseLeftButtonUp" Name="Slider" VerticalAlignment="Top" Visibility="Collapsed" Width="456" Orientation="Horizontal" Background="Black" SmallChange="5" LargeChange="5" />
事件sliderValueChanged需要一点时间才能执行。所以我只想减少对该事件的调用次数。
编辑:其实我的问题是在子窗口我正在绘制多个波形。没有加载波形,滑块工作正常(空屏幕)但是当我在屏幕上加载波形时,它不能正常工作。 (而不是表现出连续的平稳运动。)我没有得到实际上的问题?如何克服它?答案 0 :(得分:1)
获取sliderValueChanged
事件以保存当前(最新)滚动值,并使用计时器定期检查该数字的更改(例如每秒30帧或每秒60帧)。
Silverlight中的默认值为每秒60帧but can be altered。您的更新越接近刷新率,它就会越平滑。