我正在尝试从两个变量(前一个高度和新高度)设置网格高度属性的动画。我面临的问题是我重复加载一组新值,然后重新加载数据绑定。当加载XAML绑定时,所有先前的值都将丢失,我们只有新的变量。
我意识到我可以将值存储在模型中,但是我想在XAML代码中执行此操作并且不依赖于旧值。
这是我到目前为止所做的:
<Grid x:Name="MeasureGrid" Background="{Binding bindingBackgroundColor}" MinHeight="30" MaxHeight="200" VerticalAlignment="Bottom" Loaded="startAnimaton" >
<Grid.Resources>
<Storyboard x:Name="myStoryboard" Completed="completed">
<DoubleAnimation
Storyboard.TargetName="MeasureGrid"
Storyboard.TargetProperty="Height"
EnableDependentAnimation="True"
From="30"
To="{Binding bindingNewHeight}"
Duration="0:0:1" />
</Storyboard>
</Grid.Resources>
正如您所看到的,问题是“From”属性。任何人都可以指出解决这个问题的方法吗?
答案 0 :(得分:1)
您总是可以尝试将from值绑定到measuregrid的高度,如下所示:
From="{Binding ElementName=MeasureGrid, Path=Height}"
否则,您可以删除From
和To
属性并使用By
属性
答案 1 :(得分:0)
您是否尝试过使用Storyboard的FillBehavior并删除From属性?
<Storyboard x:Name="myStoryboard" Completed="completed">
<DoubleAnimation
Storyboard.TargetName="MeasureGrid"
Storyboard.TargetProperty="Height"
EnableDependentAnimation="True"
To="{Binding bindingNewHeight}"
FillBehavior="HoldEnd"
Duration="0:0:1" />
</Storyboard>
这就是我想要的。