gpt4 book ai didi

wpf - WPF 中的 RichTextBox 无法正确调整内容大小

转载 作者:行者123 更新时间:2023-12-04 07:01:02 26 4
gpt4 key购买 nike

我需要在 List 中显示带有颜色和格式的文本。我使用带有 RichTextControlListBox 来显示数据。我还需要根据窗口调整内容大小,但文本不需要换行。

当我做这个简单的例子时,文本显示为垂直的,并且不会随着窗口的大小而改变。如果我将 RichTextBoxWidth 设置为固定大小(例如 100),那么它就可以工作。

有什么想法吗?

<Window x:Class="WpfApplication19.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<ListBox HorizontalContentAlignment="Stretch">
<ListBox.Items>
<RichTextBox>
<FlowDocument>
<Paragraph>
<Run>this is a test</Run>
</Paragraph>
</FlowDocument>
</RichTextBox>
</ListBox.Items>
</ListBox>
</Grid>
</Window>

如果有更好的文本显示选项(部分文本颜色不同),请告诉我。

最佳答案

如果您不需要 ListBox 的列表选择行为,那么使用 ItemsControl 可以提供正确的布局:

<Grid>
<ItemsControl>
<RichTextBox>
<FlowDocument>
<Paragraph >
<Run>this is a test</Run>
</Paragraph>
</FlowDocument>
</RichTextBox>
</ItemsControl>
</Grid>

但是为了得到你想要的东西,将 RichTextBox 包裹在 Grid 中,然后绑定(bind)到它的 ActualWidth

<Grid>
<ListBox HorizontalContentAlignment="Stretch">
<ListBox.Items>
<Grid>
<RichTextBox Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource AncestorType=Grid}}" >
<FlowDocument>
<Paragraph>
<Run>this is a test</Run>
</Paragraph>
</FlowDocument>
</RichTextBox>
</Grid>
</ListBox.Items>
</ListBox>
</Grid>

关于wpf - WPF 中的 RichTextBox 无法正确调整内容大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1834530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com