我在 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();
}
可以更改相同的代码来为控件的其他属性设置动画,例如按预期工作的不透明度。
我可以为 ScaleTransform 设置动画以进行缩放,但它会改变控件的内部渲染,并且不会影响相邻控件的布局,这对我来说是个问题。
希望我在这里没有遗漏任何明显的东西,但这不应该有效吗?