14

Windows 8 の Metro スタイル C#/XAML アプリケーションで、コントロールの高さの単純なストーリーボード ベースのアニメーションを実行できません。

次の簡単な XAML とコード ビハインド スニペットは、Silverlight 5 と Windows Phone 7 では問題なく動作しますが、Windows 8 では何もしません (少なくとも私にとっては)。

<Page.Resources>
    <Storyboard x:Name="expandAnimation">
        <DoubleAnimation Storyboard.TargetName="scaleButton" Storyboard.TargetProperty="Height" From="50" To="200" Duration="0:0:1"/>
    </Storyboard>
</Page.Resources>

<StackPanel Width="200">
    <Button x:Name="scaleButton" Click="scaleButton_Click" Content="Scale"/>
    <Button Content="Another button"/>
    <Button Content="Yet another button"/>
</StackPanel>

C# コード:

private void scaleButton_Click(object sender, RoutedEventArgs e)
{
    expandAnimation.Begin();
}

同じコードを変更して、期待どおりに機能する Opacity などのコントロールの他のプロパティをアニメーション化できます。

ScaleTransform をアニメーション化してスケーリングを行うことはできますが、コントロールの内部レンダリングが変更され、隣接するコントロールのレイアウトには影響しません。これは私にとって問題です。

ここで明らかなことを見逃していないことを願っていますが、これはうまくいくべきではありませんか?

4

2 に答える 2

29

追加するだけEnableDependentAnimation="True"で、正常に動作するはずです。

于 2012-05-07T18:42:43.683 に答える