System.Windows.Media.Animation.AnimationTimeline) 'недоступен из-за уровня защиты - PullRequest
1 голос
/ 22 августа 2010

Привет. Я пытаюсь программно управлять анимацией WPF, но получаю сообщение об ошибке выше, может кто-нибудь помочь с ошибкой - не очень знаком с c # - спасибо

using System;

с использованием System.Collections.Generic; использование System.Linq; используя System.Text; используя System.Windows; использование System.Windows.Controls; используя System.Windows.Data; использование System.Windows.Documents; использование System.Windows.Input; используя System.Windows.Media; using System.Windows.Media.Imaging; использование System.Windows.Navigation; использование System.Windows.Shapes; использование System.Windows.Media.Animation;

Пространство имен WpfApplication10 { /// /// Логика взаимодействия для Window1.xaml ///

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }
       AnimationClock clock;
       void StartAnimation()
    {
        DoubleAnimation animate = new DoubleAnimation();
        animate.To = 300;
        animate.Duration = new Duration(TimeSpan.FromSeconds(5));
        animate.RepeatBehavior = RepeatBehavior.Forever;
        clock = animate.CreateClock();
        test.ApplyAnimationClock(Ellipse.WidthProperty, clock);
    }
    void PauseAnimation()
    {
        clock = new AnimationClock();
        clock.Controller.Pause();
    }
    void ResumeAnimation()
    {
        clock.Controller.Resume();
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        PauseAnimation(); 
    }

   }

}

1 Ответ

0 голосов
/ 22 августа 2010

Это означает, что вы не можете создать экземпляр объекта "clock", используя "new".Вы можете сделать это с помощью метода animation.CreateClock (), как в вашем методе StartAnimation ().В любом случае, небольшая настройка вашего кода должна заставить его работать.Надеюсь, что приведенный ниже код дает вам представление:

using System;
using System.Windows.Media.Animation;
using System.Windows;
using System.Collections.Generic; 
using System.Linq; 
using System.Text;
using System.Windows.Shapes;

namespace WpfApplication10 { /// /// Interaction logic for Window1.xaml ///

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

        DoubleAnimation animate = new DoubleAnimation();
        animate.To = 300;
        animate.Duration = new Duration(TimeSpan.FromSeconds(5));
        animate.RepeatBehavior = RepeatBehavior.Forever;
        clock = animate.CreateClock();
    }

    AnimationClock clock;
    void StartAnimation()
    {        
        test.ApplyAnimationClock(Ellipse.WidthProperty, clock);
    }

    void PauseAnimation()
    {
        clock.Controller.Pause();
    }

    void ResumeAnimation()
    {
        clock.Controller.Resume();
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        StartAnimation(); 
    }

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