这可能是一个愚蠢的问题但是,就像标题所说的那样:当你向它添加更多行时,是否有一种简单的方法可以防止RichTextBox增加其高度?
到目前为止我测试的内容:
然而,以上都没有帮助。 RTB位于自动调整的Grid行内,用户可以使用GridSplitter控制行高。我希望RTB尊重拆分器,而不是在提交更多文本时自动调整大小。
非常感谢任何提示或建议!
[编辑]值得注意的是,顺便说一下,一旦我调整Grid.Row(使用GridSplitter),RTB就会受到约束,无法再进行自动增长。我想如果我可以,不知何故,模拟调整大小,只是一个像素,当表单加载它将“解决”问题。当然有点hack ......
[编辑](相关的XAML示例)
<Window
x:Class="Test.Window"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="TEST"
Height="609.8" Width="848"
Background="#000000"
FontFamily="Segoe UI"
>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50" />
<ColumnDefinition Width="150" MinWidth="100"/>
<ColumnDefinition Width="3"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="3" />
<RowDefinition Height="Auto" MinHeight="100" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel
Grid.Row="1" Grid.Column="0"
Orientation="Vertical"
Background="#333333"
>
</StackPanel>
<Grid
Grid.Row="1" Grid.Column="1"
Width="Auto"
HorizontalAlignment="Stretch"
Background="#222222"
/>
<GridSplitter
Grid.Row="1" Grid.Column="2"
HorizontalAlignment="Stretch" Width="3" Background="#222222"
/>
<Grid
Grid.Row="1" Grid.Column="3"
MinWidth="100"
/>
<GridSplitter
Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="4"
HorizontalAlignment="Stretch" Height="3" Background="#222222" />
<Grid Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="4">
<Grid>
<RichTextBox MinHeight="50" VerticalAlignment="Stretch">
<RichTextBox.Document>
<FlowDocument>
<Paragraph>
<Run Text="Lorem ipsum dolor sit amet consectetur adipiscing elit tempor, class a cum odio diam nec ullamcorper eget, duis curae dictum rutrum cursus tristique rhoncus. Curabitur montes erat sociis feugiat dictumst eu faucibus, dapibus habitasse platea parturient dignissim fringilla tortor, et ridiculus vehicula ac vel sem."></Run>
</Paragraph>
</FlowDocument>
</RichTextBox.Document>
</RichTextBox>
</Grid>
</Grid>
</Grid>
答案 0 :(得分:2)
一种简单的方法,将高度设置为RTB(或放置RTB的Grid Row)。
由于没有设定的边界,它一直在增长。它的父母Grid与它的孩子一起自动化,所以孩子们被宠坏了。