C# 无法将网格从以前的值设置为新值

C# 无法将网格从以前的值设置为新值,c#,xaml,windows-runtime,windows-store-apps,C#,Xaml,Windows Runtime,Windows Store Apps,我试图从两个变量(前一个高度和新高度)设置栅格高度属性的动画。我面临的问题是,我反复加载一组新值,然后重新加载数据绑定。加载XAML绑定时,所有以前的值都将丢失,我们只有新变量 我意识到我可以将值存储在模型中,但是我只想在XAML代码中这样做,并且不依赖于旧值 这就是我到目前为止所做的: <Grid x:Name="MeasureGrid" Background="{Binding bindingBackgroundColor}" MinHeight="30" MaxHeight="20

我试图从两个变量(前一个高度和新高度)设置栅格高度属性的动画。我面临的问题是,我反复加载一组新值,然后重新加载数据绑定。加载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”属性。有人能指出解决这个问题的方法吗?

您可以尝试将from值绑定到measuregrid的高度,如下所示:

 From="{Binding ElementName=MeasureGrid, Path=Height}"

否则您可以从和到属性中删除
,并通过
属性使用

您是否尝试过使用情节提要的填充行为并从属性中删除

<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>


这就是我要尝试的。

只是不要设置它。然后它将根据当前值设置动画。我尝试过这个方法,但是当前值为0,因为我重复重新加载数据绑定。但是我们每次都重新加载绑定,因此每次调用Height属性时,它的高度基本上为0。我也有同样的问题。我有一个ListView,每个ListItem内部都有一个网格。当我的服务器推送一组新数据时,我需要将新列表重新分配给数据源,数据绑定将重新加载列表。内部栅格的高度应从上一个栅格更改为新栅格。如果我的对象数组已更新,如何执行此操作?