WPF面板允许行,顶部是可折叠的



我正在尝试创建一个显示两个richtextbox的WPF控件。一个叠在另一个上面,每个占用相同的空间。

但是当上面的文件没有任何内容时,我需要下面的文件来填充空白

我试过使用网格,但我不能让它正确工作。

这些是我尝试过的行定义:

<Grid>  
  <Grid.RowDefinitions>
    <RowDefinition Height="Auto"/>
     <RowDefinition Height="*"/>
  </Grid.RowDefinitions>
  <RichTextBox Grid.Row="0" />
  <RichTextBox Grid.Row="1" />     
</Grid>

当两行都显示时,最上面一行的高度是其中一行的高度(不是50/50分割)。

<Grid>  
  <Grid.RowDefinitions>
     <RowDefinition Height="*"/>
     <RowDefinition Height="*"/>
  </Grid.RowDefinitions>
  <RichTextBox Grid.Row="0" Visibility="Collapsed"/>
  <RichTextBox Grid.Row="1" />     
</Grid>

当顶部行折叠时,底部行不会展开以填充其空间。

<Grid.RowDefinitions>
     <RowDefinition Height="*"/>
     <RowDefinition Height="Auto"/>
</Grid.RowDefinitions>

使用此参数或在底部行添加MinHeight将导致容器无界。这样我就不会得到底部RichTextBox的滚动条

是否有任何方法可以让两个控件堆叠在彼此之上,并且同样填充可用空间?(同时允许一个崩溃)

注意:我没有绑定到一个网格

我找到了一个方法:

<UniformGrid Columns="1">  
  <RichTextBox />
  <RichTextBox />     
</UniformGrid>

对于塌陷:

<UniformGrid Columns="1">  
  <RichTextBox Visibility="Collapsed" />
  <RichTextBox />     
</UniformGrid>

最新更新