WPF:自动扩展RichTextBox

3

我在WPF中有一个富文本框,

<RichTextBox Name="_RichTextBox" />

在代码中,我能够通过文本变化自动展开富文本框的高度。

mRichTextBox.SelectionChanged += OnSelectionChanged;

async void OnSelectionChanged(object sender, RoutedEventArgs e)
        {
            mRichTextBox.Height = mRichTextBox.Document.LineHeight;
        }

但是,对于我来说,LineHeight的值为NaN,高度也是如此。

有没有其他方法可以实现这一点。

任何帮助都将不胜感激!


有没有可能计算行数,然后加上字体高度和一个常数来计算高度? - Jens
是的,我正在思考那个。 - Vivek Saurav
我没有使用RichTextBox的经验,但这是我首先想到的。 - Jens
这是我最后的机会,但我正在寻找一些体面和优雅的东西。 - Vivek Saurav
3
把它放在Grid中,并使用RowDefinition Height="Auto"让它自动调整大小,这样做有什么问题吗? - Sheridan
你能分享一个小例子吗? - Vivek Saurav
1个回答

5

自动调整高度(在XAML中):

<Grid>
    <RichTextBox Height="Auto" Width="200">
        <FlowDocument>
            <Paragraph>
                <Run Text="RichTextBox"/>
            </Paragraph>
        </FlowDocument>
    </RichTextBox>
</Grid>

Width 是固定的。当文本不超过一行时,Height 为1行。

一行文字

仅一行文字

多行文字 + 自动调整大小

多行文字 + 自动调整大小


6
可以对宽度进行自动调整吗?自动调整宽度? - Sameera Kumarasingha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接