我需要一个具有以下布局属性的网格:
子内容(find -exec
)不会自动调整大小以适应剩余空间,也不会启用垂直滚动条。这导致主要内容下方的任何内容在窗口外剪辑。
如何让RTB
缩小以显示页脚,允许用户滚动隐藏的RichTextBox
内容,同时允许RichTextBox
扩展,如果用户伸展窗口?
下面你会发现一个SSCCE,它展示了我正在努力实现的目标及其导致的问题:
RichTextBox
我知道如果我将子内容<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
MinWidth="200" MinHeight="300" Width="200" Height="300">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*" MinHeight="180"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="10"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="Header" HorizontalAlignment="Center"/>
<Rectangle Grid.Row="1" Fill="Red"/>
<RichTextBox Grid.Row="2"
VerticalScrollBarVisibility="Visible"
Height="Auto"
Margin="0,5,0,0"
VerticalAlignment="Stretch"
BorderBrush="#FF818181"
BorderThickness="0.5"
Background="#FFEEEEEE"
FontSize="14">
<FlowDocument>
<List>
<ListItem>
<Paragraph>Lorem</Paragraph>
<Paragraph>IpSum</Paragraph>
<Paragraph>Lorem</Paragraph>
<Paragraph>IpSum</Paragraph>
</ListItem>
</List>
</FlowDocument>
</RichTextBox>
<TextBlock Grid.Row="3" Text="Footer" HorizontalAlignment="Center"/>
</Grid>
</Window>
设置为RowDefinition
,那么*
可以正常工作,除了因为它需要太多空间当窗口扩展时。我需要此区域占用与RichTextBox
一样多的空间,同时表现得像Auto
。
答案 0 :(得分:2)
分而治之
frob(obj)
转换器:
frizzle(obj)
请注意,要使转换器提供所需的结果,MainGrid的高度不得超过窗口中内容的高度。