2010-08-21 3 views
1

Привет, я пытаюсь программно управлять анимацией WPF, но я получаю ошибку выше, может кто-то помочь с ошибкой - не очень хорошо знаком с C# - thanksSystem.Windows.Media.Animation.AnimationTimeline) 'недоступен из-за его уровня защиты

using System; 

using System.Collections.Generic; с использованием System.Linq; с использованием System.Text; с использованием System.Windows; с использованием System.Windows.Controls; с использованием System.Windows.Data; с использованием System.Windows.Documents; с использованием System.Windows.Input; с использованием System.Windows.Media; с использованием 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(); 
    } 

    } 

}

ответ

0

Это означает, что вы не можете создать экземпляр "часов" объект с использованием «нового». Вы можете сделать это, используя метод 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(); 
    } 

    } 
}