Der folgende Code funktioniert in Silverlight fein:WinRT/Metro Animation in Code-Behind
private void Button_Click_1(object sender, RoutedEventArgs e)
{
Storyboard storyboard = new Storyboard();
DoubleAnimation doubleAnimation = new DoubleAnimation();
doubleAnimation.From = 50;
doubleAnimation.To = 100;
doubleAnimation.RepeatBehavior = RepeatBehavior.Forever;
doubleAnimation.AutoReverse = true;
doubleAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(200));
storyboard.Children.Add(doubleAnimation);
Storyboard.SetTarget(doubleAnimation, button1);
Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("Width"));
storyboard.Begin();
}
In WinRT/Metro es eine kleine Änderung muss es kompilieren machen:
Storyboard.SetTargetProperty(doubleAnimation, "Width");
aber, wenn Sie Lauf es, nichts passiert.
Wenn Sie die Eigenschaft von "Breite" in "Deckkraft" ändern (auch ändern von = 0 und bis = 1), funktioniert das.
Was ist das Problem mit "Breite"?
Warum haben Sie nicht den 'EventTrigger' http://msdn.microsoft.com/en-us/library/system.windows.eventtrigger.aspx verwendet, um diesen ganzen Code nach xaml zu verschieben? – RredCat
@RredCat - Soweit ich weiß, haben wir keinen EventTrigger in WinRT. –