Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
恢复网格WPF的默认大小调整行为_Wpf_Binding_Grid - Fatal编程技术网

恢复网格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);