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 をアニメーション化してスケーリングを行うことはできますが、コントロールの内部レンダリングが変更され、隣接するコントロールのレイアウトには影響しません。これは私にとって問題です。
ここで明らかなことを見逃していないことを願っていますが、これはうまくいくべきではありませんか?