我有一个按钮和一个滑块,当我按下按钮时,我想让滑块勾选一个步骤,直到达到其最大值。但是,我没有得到它的工作。一旦我点击该按钮,它会休眠一段时间,然后以最大值显示滑块,而不显示每个刻度。WPF中的滑块“动画”?
这里是我的XAML代码:
<StackPanel Orientation="Horizontal">
<Button x:Name="AnimationGoButton" Content="Go" />
<Slider x:Name="AnimationSlider" TickFrequency="1" TickPlacement="BottomRight" IsSnapToTickEnabled="True" Width="200" Maximum="20" Value="0" />
</StackPanel>
这里是我的代码背后:
Private Sub AnimationGoButton_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles AnimationGoButton.Click
While (Me.AnimationSlider.Value < Me.AnimationSlider.Maximum)
Me.AnimationSlider.Value += 1
System.Threading.Thread.Sleep(100)
End While
End Sub
我曾尝试使用一个动态资源,但结果是一样的。
XAML:
<Window.Resources>
<sys:Double x:Key="AnimationSliderValue">0</sys:Double>
</Window.Resources>
然后,我改变了价值滑块XAML到:
Value="{DynamicResource AnimationSliderValue}"
,并切换到后面的代码:
While (Me.AnimationSlider.Value < Me.AnimationSlider.Maximum)
Resources("AnimationSliderValue") += 1
System.Threading.Thread.Sleep(100)
End While
但正如我说,结果是一样的。当我按下按钮时,UI不会更新,直到达到最大值。
所以我的问题是,我该如何创建这个“动画”我想要的滑块?请指点我正确的方向看。 :) 谢谢!
谢谢你,这对我帮助很大。 – Ragowit 2012-01-16 10:35:28
是否有可能让此故事板使用“TickFrequency =”1“” - 设置?现在它动画也很流畅,看起来不错,但是我需要检查它是什么时候点击“1”,“2”而不是“0.1116”等等。 – Ragowit 2012-01-16 10:45:10
查看上面的更新... – 2012-01-17 10:26:52