WPF - 在 XAML 中动画网格长度

问题描述 投票:0回答:3

我只是想知道是否可以使用纯粹的 XAML 对网格的高度进行动画处理?我看了这个教程: http://windowsclient.net/learn/video.aspx?v=70654

但似乎需要编写自定义函数才能使其工作。 纯粹通过XAML就可以完成吗?

wpf vb.net animation
3个回答
3
投票

它不可能开箱即用,因为没有 GridLengthAnimation 这样的类(与 DoubleAnimation 相比)。如果存在这样的类(来自您、微软或第三方),那么就会有一个纯 XAML 解决方案。


0
投票
<Grid>
  <Grid.RowDefinitions>
    <RowDefinition Height="0" x:Name="Row" />
  </Grid.RowDefinitions>
</Grid>
...
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="Row" 
                               Storyboard.TargetProperty="Height" Duration="0:0:0.2">
  <DiscreteObjectKeyFrame Value="{x:Static GridLength.Auto}" KeyTime="0:0:0.2" />
</ObjectAnimationUsingKeyFrames>

0
投票

尝试 MahApps.Metro nuget 包。它是一个很棒的工具包,并且有一个可供您使用的

GridLengthAnimation
类。 MahApps 官方页面

© www.soinside.com 2019 - 2024. All rights reserved.