0
以下代碼最初是WPF應用程序的一部分,我將其轉換爲WinRT;然而,試圖運行動畫時,他們似乎是相互排斥的(也就是說,他們都工作,但只能有一個時間 - 而在WPF我可以同時運行他們):在Windows應用商店應用中運行多個動畫
private void SpinAndDisappear_Click(object sender, RoutedEventArgs e)
{
UIElement obj = (UIElement)SpinAndDisappear;
obj.RenderTransform = new CompositeTransform();
var story = new Storyboard();
var xAnim = new DoubleAnimation();
var yAnim = new DoubleAnimation();
xAnim.Duration = TimeSpan.FromSeconds(2);
yAnim.Duration = TimeSpan.FromSeconds(2);
xAnim.To = 0;
yAnim.To = 0;
story.Children.Add(xAnim);
story.Children.Add(yAnim);
Storyboard.SetTarget(xAnim, obj);
Storyboard.SetTarget(yAnim, obj);
Storyboard.SetTargetProperty(xAnim, "(UIElement.RenderTransform).(CompositeTransform.ScaleX)");
Storyboard.SetTargetProperty(yAnim, "(UIElement.RenderTransform).(CompositeTransform.ScaleY)");
story.Begin();
SpinAnimation(); // If commented out, the button changes size,
// and if not, it spins, but not both
}
void SpinAnimation()
{
UIElement obj = (UIElement)SpinAndDisappear;
obj.RenderTransform = new RotateTransform();
var storySpin = new Storyboard();
var spinAnim = new DoubleAnimation();
spinAnim.Duration = TimeSpan.FromSeconds(2);
spinAnim.From = 0;
spinAnim.To = 360;
storySpin.Children.Add(spinAnim);
Storyboard.SetTarget(spinAnim, obj);
Storyboard.SetTargetProperty(spinAnim, "(UIElement.RenderTransform).(RotateTranform.Angle)");
storySpin.Begin();
}
所以我的問題是:如何在WinRT中同時做到這兩點?
絕妙的主意 - 非常感謝! –