0

我正在尝试创建一个显示两个 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 就没有滚动条了。

有没有办法让两个控件堆叠在一起,并平均填充可用空间? (虽然允许一个人崩溃)

注意:我没有绑定到网格。

4

1 回答 1

0

我找到了一种方法:

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

而对于崩溃:

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

就像我一直在寻找的那样工作。

于 2013-01-17T21:23:24.967 回答