我正在尝试开发一个 ProgressBar
,它会根据我手动设置的值进行填充。例如,我有这个 ProgressBar
:
<ProgressBar Height="33" HorizontalAlignment="Left" Name="progressBar1" VerticalAlignment="Top" Width="285" />
我有一个按钮,每次按下它时 ProgressBar
值都会增加 10 个单位,如下所示:
private void button1_Click(object sender, RoutedEventArgs e)
{
progressBar1.Value += 10;
}
我想在每次单击它时为该值更改设置动画。我试过这个:
Duration duration = new Duration(TimeSpan.FromSeconds(1));
DoubleAnimation doubleanimation = new DoubleAnimation(200.0, duration);
progressBar1.BeginAnimation(ProgressBar.ValueProperty, doubleanimation);
但是 ProgressBar
的值从 0 变为 100。如何让动画停止在特定值处,而不是达到 100%?
最佳答案
如果您执行以下操作,您实际上是在将 Value
设置为最终值 200 的动画:
DoubleAnimation doubleanimation = new DoubleAnimation(200.0, duration);
而是将第一个参数更改为您想要动画化的值。您的事件处理程序应如下所示:
private void button1_Click(object sender, RoutedEventArgs e)
{
Duration duration = new Duration(TimeSpan.FromSeconds(1));
DoubleAnimation doubleanimation = new DoubleAnimation(progressBar1.Value + 10, duration);
progressBar1.BeginAnimation(ProgressBar.ValueProperty, doubleanimation);
}
关于c# - 具有特定值的动画 ProgressBar 内容 WPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17594871/