我有一个网格,我在代码中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);