WPF 中的 RichTextBox 无法正确调整内容大小
我需要在 List
中显示带有颜色和格式的文本。我使用 ListBox
和 RichTextControl
来显示数据。我还需要将内容调整为适合窗口的大小,但文本不需要换行。
当我制作这个简单的示例时,文本显示为垂直,并且不会随着我调整窗口大小而改变。如果我将 RichTextBox
的 Width
设置为固定大小(例如 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>
如果有更好的选项来显示文本(部分文本颜色不同),请告诉我。
I need to display text with colors and formatting in a List
. I'm using a ListBox
with a RichTextControl
to display the data. I also need the contents to size to the window, but the text does not need to wrap.
When I make this simple example the text appears vertical and doesn't change as I size the window. If I set the Width
of the RichTextBox
to a fixed size like 100 then it works.
Any ideas?
<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>
If there is a better option for displaying text were parts of the text are different colors please let me know.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您不需要
ListBox
的列表选择行为,则使用ItemsControl
提供正确的布局:但是要获得您所要求的内容,请包装
RichTextBox
在Grid
中,然后绑定到它的ActualWidth
If you don't need the list selection behaviour of the
ListBox
, then using aItemsControl
provides correct layout:The but to get what you asked for, wrap
RichTextBox
in theGrid
and then Bind to it'sActualWidth
这是一个老问题,但可以通过设置 ScrollViewer.HorizontalScrollBarVisibility="Disabled" 来解决该问题。这与
ListBox
在内部使用ScrollViewer
以及它与RichTextBox
的交互方式有关。This is an old question, but the issue can be resolved by setting
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
. This has to do withListBox
using aScrollViewer
internally and how it interacts withRichTextBox
.