15

次のコードは、Silverlight で正常に動作します。

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();
}

WinRT/Metro では、コンパイルするために 1 つの小さな変更が必要です。

Storyboard.SetTargetProperty(doubleAnimation, "Width");

しかし、実行しても何も起こりません。

プロパティを「Width」から「Opacity」に変更すると (From=0 と To=1 も変更)、機能します。

「幅」の問題は何ですか?

4

2 に答える 2

21

以下を追加する必要があります。

doubleAnimation.EnableDependentAnimation = true;

それは問題を解決するようです。

于 2012-06-29T12:19:17.250 に答える
1

よくわかりませんが、使用してみてください。

Storyboard.SetTargetProperty(doubleAnimation, Button.WidthProperty);

それ以外の

Storyboard.SetTargetProperty(doubleAnimation, "Width");
于 2012-06-29T11:34:39.133 に答える