我在WPF上製作遊戲SizzlingHot。我有一個用來加載水果圖像的畫布。當我點擊startButton時,它應該爲落下的果實創建一個雙動畫的故事板。我的方法如下代碼:創建故事板和雙動畫
NameScope.SetNameScope(this, new NameScope());
Cherry cherry = new Cherry(); // I get the image from this class
// GameCanvas.Children.Add(cherry.FruitImage); // idk if this should be here and its invalid because the parameter in the parantheses shoud be UI element it does not allow BitmapImage
DoubleAnimation myDoubleAnimation = new DoubleAnimation(100, 500, new Duration(TimeSpan.FromSeconds(5)));
myDoubleAnimation.From = -150;
myDoubleAnimation.To = 500;
Storyboard.SetTargetProperty(myDoubleAnimation, new PropertyPath("(Canvas.Top)"));
Storyboard.SetTarget(myDoubleAnimation, cherry.FruitImage);
Storyboard myStoryboard = new Storyboard();
myStoryboard.Children.Add(myDoubleAnimation);
GameCanvas.Resources.Add(myStoryboard,cherry.FruitImage);
myStoryboard.Begin(this, true);
當我運行它,在最後一行,它給了我一個
出現InvalidOperationException - 操作無效由於對象的當前階段。
我不明白什麼似乎是這裏的問題,當我調試它時,我可以看到圖像被發現。
確切位置在哪裏,你添加的元素到畫布?你應該爲包含'Image'而不是'BitmapImage'源文件設置動畫。 –
我添加它與Canvas.Children.Add(myImage),它不是它的源圖像,但彈出一個錯誤無法將位圖轉換爲System.Windows.UIElement。這不是將東西添加到畫布的正確方法嗎? –