You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改ListViewItem模板中的RichTextBox使其文本横向显示?

解决ListViewItem中RichTextBox文本纵向显示的问题

你的RichTextBox文本呈现纵向显示,核心原因是未明确指定FlowDocument的排版方向,或其内容容器宽度未适配控件。以下是修正后的完整Style代码:

<Style TargetType="ListViewItem" x:Key="InformationListItemTheme">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="100"/>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="175"/>
                    </Grid.ColumnDefinitions>
                    <TextBlock Grid.Column="0"/>
                    <!-- 修正后的RichTextBox -->
                    <RichTextBox Grid.Column="1" Height="275">
                        <RichTextBox.Document>
                            <FlowDocument PageWidth="{Binding RelativeSource={RelativeSource AncestorType=RichTextBox}, Path=ActualWidth}"
                                         FlowDirection="LeftToRight">
                                <Paragraph>
                                    <!-- 在此处添加或绑定文本内容 -->
                                </Paragraph>
                            </FlowDocument>
                        </RichTextBox.Document>
                    </RichTextBox>
                    <Grid Grid.Column="2">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition/>
                            <ColumnDefinition/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition/>
                            <RowDefinition/>
                            <RowDefinition/>
                            <RowDefinition/>
                            <RowDefinition/>
                        </Grid.RowDefinitions>
                        <TextBlock Grid.Column="0" Grid.Row="0" Text="JA"/>
                        <TextBlock Grid.Column="0" Grid.Row="1" Text="SCH"/>
                        <TextBlock Grid.Column="0" Grid.Row="2" Text="ELT"/>
                        <TextBlock Grid.Column="0" Grid.Row="3" Text="KIN"/>
                        <TextBlock  Grid.Column="0" Grid.Row="4" Text="SON"/>
                        <TextBox Grid.Column="1" Grid.Row="0" Text="{Binding JA}"/>
                        <TextBox Grid.Column="1" Grid.Row="1" Text="{Binding SCH}"/>
                        <TextBox Grid.Column="1" Grid.Row="2" Text="{Binding ELT}"/>
                        <TextBox Grid.Column="1" Grid.Row="3" Text="{Binding KIN}"/>
                        <TextBox Grid.Column="1" Grid.Row="4" Text="{Binding SON}"/>
                    </Grid>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

关键修改说明:

  • 为RichTextBox显式添加FlowDocument节点,设置FlowDirection="LeftToRight",强制文本采用横向排版逻辑
  • 将FlowDocument的PageWidth绑定到RichTextBox的ActualWidth,让内容容器宽度与控件自身宽度匹配,文本会自动横向换行,而非纵向堆叠

内容的提问来源于stack exchange,提问作者stutski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 23:33:12