我需要在List
中显示带有颜色和格式的文字。我正在使用ListBox
和RichTextControl
来显示数据。我还需要将内容大小调整到窗口,但文本不需要换行。
当我做这个简单的例子时,文本显示为垂直,并且不会随着我调整窗口大小而改变。如果我将Width
的{{1}}设置为100这样的固定大小,那么它就能正常工作。
有什么想法吗?
RichTextBox
如果有更好的显示文字选项,部分文字是不同的颜色,请告诉我。
答案 0 :(得分:3)
如果您不需要ListBox
的列表选择行为,那么使用ItemsControl
可以提供正确的布局:
<Grid>
<ItemsControl>
<RichTextBox>
<FlowDocument>
<Paragraph >
<Run>this is a test</Run>
</Paragraph>
</FlowDocument>
</RichTextBox>
</ItemsControl>
</Grid>
但要获得你要求的内容,请将RichTextBox
包裹在Grid
中然后绑定到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>