0

我有一个网格,我在代码中Height绑定到另一个网格。ActualHeight这部分没有问题。但是在特定的用户交互之后,我想删除这个绑定,让 Grid 像往常一样运行,并根据其内容调整自身大小。

在此“用户交互”期间,随着我向 StackPanel 添加更多内容,绑定网格内容的高度会增加。

<Grid x:Name="grid1">
    <StackPanel>
        ....
    </StackPanel>
</Grid>

<Grid x:Name="grid2">
    <StackPanel>
        ....
    </StackPanel>
</Grid>

后面的代码:

Binding HeightBinding = new Binding("ActualHeight");
HeightBinding.Source = grid2;
grid1.SetBinding(FrameworkElement.HeightProperty, HeightBinding);

因此,当我删除绑定时,我希望 Grid 恢复正常并增加大小。不是这种情况。我尝试了以下但没有成功:

1) BindingOperations.ClearBinding(grid1, Grid.HeightProperty);

2) grid1.Height = Double.NaN;
   grid1.InvalidateMeasure();

3) Binding binding = new Binding();
   grid1.SetBinding(Grid.HeightProperty, binding );

4) BindingOperations.ClearAllBindings(grid1);
4

0 回答 0