恢复网格WPF的默认大小调整行为
我有一个网格的恢复网格WPF的默认大小调整行为,wpf,binding,grid,Wpf,Binding,Grid,我有一个网格的高度我绑定到另一个网格的实际高度。这部分没问题。但是在一个特定的用户交互之后,我想删除这个绑定,让网格按照它通常的方式运行,并根据它的内容调整大小 在这个“用户交互”过程中,当我向StackPanel添加更多内容时,绑定网格内容的大小会随着高度的增加而增加 <Grid x:Name="grid1"> <StackPanel> .... </StackPanel> </Grid> <Grid x:
高度
我绑定到另一个网格的实际高度
。这部分没问题。但是在一个特定的用户交互之后,我想删除这个绑定,让网格按照它通常的方式运行,并根据它的内容调整大小
在这个“用户交互”过程中,当我向StackPanel添加更多内容时,绑定网格内容的大小会随着高度的增加而增加
<Grid x:Name="grid1">
<StackPanel>
....
</StackPanel>
</Grid>
<Grid x:Name="grid2">
<StackPanel>
....
</StackPanel>
</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);
您的
网格
属于哪种父面板?您可以将其托管在一个面板中,该面板自动拉伸其子面板以填充所有可用空间。父面板也是网格,子面板是堆栈面板
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);