Не удается сбросить значение слайдера после его анимации в коде - PullRequest
0 голосов
/ 25 мая 2018

После анимации трех значений ползунка до 100, 50 и 20 я не могу изменить значения обратно на 1.Кнопка сброса закодирована, чтобы установить их на 1, но они останутся на 100, 50 и 20!

Вот код:

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        DoubleAnimation sld_1anim = new DoubleAnimation(100, TimeSpan.FromMilliseconds(1000));
        sld_1.BeginAnimation(Slider.ValueProperty, sld_1anim);
        DoubleAnimation sld_2anim = new DoubleAnimation(50, TimeSpan.FromMilliseconds(1000));
        sld_2.BeginAnimation(Slider.ValueProperty, sld_2anim);
        DoubleAnimation sld_3anim = new DoubleAnimation(20, TimeSpan.FromMilliseconds(1000));
        sld_3.BeginAnimation(Slider.ValueProperty, sld_3anim);
    }

    private void Button_Click_1(object sender, RoutedEventArgs e) /// reset button NOT WORKS
    {
        sld_1.Value = 1;
        sld_2.Value = 1;
        sld_3.Value = 1;

        MessageBox.Show(sld_1.Value.ToString());
        MessageBox.Show(sld_2.Value.ToString());
        MessageBox.Show(sld_3.Value.ToString());
    }
}

1 Ответ

0 голосов
/ 25 мая 2018

Значение по умолчанию FillBehavior равно HoldEnd, что означает, что ваша анимация будет удерживать это последнее значение.

Передайте FillBehavior.Stop в качестве третьего параметра вашей анимации.

new DoubleAnimation(20, TimeSpan.FromMilliseconds(1000), FillBehavior.Stop)

в сторону;Я бы порекомендовал просто использовать раскадровку в XAML, если эти числа не станут переменными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...