Задержка анимации для некоторых кнопок - PullRequest
0 голосов
/ 30 марта 2019

Я пишу эти коды для своих кнопок, которые находятся на панели обтекания.Я хочу показать их с анимацией непрозрачности, но когда компилятор достигнет s.begin ();это не работает и покажет мне ошибку.пожалуйста, помогите мне исправить эти коды.Я пишу их с помощью других кодов в Интернете.и одна вещь состоит в том, что я не знаю, как сделать задержку для анимации, я пишу эти ifs.

    private void ShowButtonsAnime()
    {
        DoubleAnimation opacityanime = new DoubleAnimation
        {
            From = 0,
            To = 100,
            Duration = TimeSpan.FromMilliseconds(20000)
        };
        Storyboard sb = new Storyboard();
        Storyboard.SetTargetProperty(opacityanime, new PropertyPath(Ellipse.OpacityProperty));
        Storyboard.SetTarget(opacityanime, AccountBtn);
        Storyboard s = new Storyboard();
        s.Children.Add(opacityanime);
        s.Begin();
        if (AccountBtn.Opacity == 100)
        {
            Storyboard.SetTarget(opacityanime, ObserveDatabtn);
            s.Children.Add(opacityanime);
            s.Begin();
        }
        if (ObserveDatabtn.Opacity == 100)
        {
            Storyboard.SetTarget(opacityanime, Formsbtn);
            s.Children.Add(opacityanime);
            s.Begin();
        }
        if (Formsbtn.Opacity == 100)
        {
            Storyboard.SetTarget(opacityanime, Resource);
            s.Children.Add(opacityanime);
            s.Begin();
        }
        if (Resource.Opacity == 100)
        {
            Storyboard.SetTarget(opacityanime, BalanceDatabtn);
            s.Children.Add(opacityanime);
            s.Begin();
        }
        if (BalanceDatabtn.Opacity == 100)
        {
            Storyboard.SetTarget(opacityanime, ReportsSettingsbtn);
            s.Children.Add(opacityanime);
            s.Begin();
        }
        if (ReportsSettingsbtn.Opacity == 100)
        {
            Storyboard.SetTarget(opacityanime, Settingbtn);
            s.Children.Add(opacityanime);
            s.Begin();
        }
    }

И ошибка: System.InvalidOperationException: 'Цель не была указана для' System.Windows.Media.Animation.DoubleAnimation ''

Ответы [ 2 ]

1 голос
/ 30 марта 2019
private void AccountBtn_Loaded(object sender, RoutedEventArgs e)
{
    DoubleAnimation Opacityanimation = new DoubleAnimation
    {
        From = 0,
        To = 100,
        Duration = TimeSpan.FromSeconds(90)
    };
    Storyboard sb = new Storyboard();
    Storyboard.SetTargetProperty(Opacityanimation, new PropertyPath(Ellipse.OpacityProperty));
    Storyboard.SetTarget(Opacityanimation, AccountBtn);
    Storyboard s = new Storyboard();
    s.Children.Add(Opacityanimation);
    s.Begin();
}
0 голосов
/ 30 марта 2019

Я нашел решение для своей собственной проблемы, и это то, что мы можем использовать эти коды в загруженном событии каждого элемента управления, подобного коедам, которые я пишу здесь, и мы можем сделать задержку при записи ifs.

    private void AccountBtn_Loaded(object sender, RoutedEventArgs e)
    {
        DoubleAnimation Opacityanimation = new DoubleAnimation
        {
            From = 0,
            To = 100,
            Duration = TimeSpan.FromSeconds(90)
        };
        Storyboard sb = new Storyboard();
        Storyboard.SetTargetProperty(Opacityanimation, new PropertyPath(Ellipse.OpacityProperty));
        Storyboard.SetTarget(Opacityanimation, AccountBtn);
        Storyboard s = new Storyboard();
        s.Children.Add(Opacityanimation);
        s.Begin();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...