WPF相机动画问题

时间:2017-03-28 13:40:25

标签: c# wpf animation

我在WPF中有一个3D模型,我试图制作一个让相机绕过我的模型的动画。我有以下代码:

public MainWindow()
        {
            InitializeComponent();
            RegisterName("thisWindow", this);
        }

private Model3DGroup MainModel3Dgroup = new Model3DGroup();
private PerspectiveCamera TheCamera;
private double CameraPhi = Math.PI / 6.0;
private double CameraTheta = Math.PI / 6.0;
private double CameraR = 35.0;

private Storyboard storyboard = new Storyboard();
private DependencyProperty CameraPhiProperty = DependencyProperty.Register("CameraPhiProperty", typeof(double), typeof(MainWindow));

private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        // Define model, lights and everthing
        Animations();
    }
private void RotateAroundTower()
    {
        DoubleAnimation animation = new DoubleAnimation();
        animation.From = 0.0;
        animation.To = 360.0;
        animation.Duration = new Duration(TimeSpan.FromSeconds(10));
        animation.RepeatBehavior = RepeatBehavior.Forever;

        storyboard.Children.Add(animation);
        Storyboard.SetTargetName(animation, "thisWindow");

        Storyboard.SetTargetProperty(animation, new PropertyPath(CameraPhiProperty));
    }

private void PositionCamera()
    {
        // Translates CameraPhi and CameraTheta to coordinates and positions the camera accordingly
    }

我对动画的所有内容都是根据我在msdn上找到的内容拼凑而成的,但在我看来,我的问题是动画会更改DependencyProperty CameraPhiProperty对象,并且从不调用PositionCamera。 如何将值从DependencyProperty传递给我的CameraPhi并调用PositionCamera? 或者是否有一个更清晰的解决方案来动画这个?

0 个答案:

没有答案