我无法在
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来进行缩放,但它会改变控件的内部渲染,并且不会影响相邻控件的布局,这对我来说是一个问题.
希望我没有在这里遗漏任何明显的东西,但是这不行吗?
你只需要添加EnableDependentAnimation =“True”,然后它应该可以正常工作.