2

ProgressBar手動で設定した値に応じて満たすa を開発しようとしています。たとえば、私はこれを持っています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);

ただし、 の値は 0 から 100 になりProgressBarます。アニメーションが 100% になるのではなく、特定の値で停止するようにするにはどうすればよいですか?

4

3 に答える 3

10

次の操作を行うと、実際には を最終的な値 200 にアニメートしValueています。

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);
}
于 2013-07-11T14:00:51.223 に答える