C# 垂直显示文本的RichTextBox

C# 垂直显示文本的RichTextBox,c#,wpf,C#,Wpf,以下XAML代码: <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> <DockPanel LastChildFill="True"> <TextBox Name="textBox1" DockPanel.Dock="Top" /> <GroupBox Head

以下XAML代码:

<ScrollViewer HorizontalScrollBarVisibility="Auto"
              VerticalScrollBarVisibility="Auto">

    <DockPanel LastChildFill="True">
        <TextBox Name="textBox1" DockPanel.Dock="Top" />

        <GroupBox Header="All Events" DockPanel.Dock="Top">
            <RichTextBox Margin="5" Name="richTextBoxEvents"
                         HorizontalScrollBarVisibility="Auto"
                         VerticalScrollBarVisibility="Auto" />
        </GroupBox>
    </DockPanel>
</ScrollViewer>

使RichTextBox中的所有内容垂直显示

我希望文本水平显示。为什么这是垂直出现的,我如何修复它

我正在使用C#、WPF和.NET4

编辑


如果将ScrollViewer移走,则文本将水平显示。但是我需要滚动查看器。那么解决方案是什么呢?

RichTextBox将始终进行换行,因此我假设ScrollViewer强制它开始换行

如果删除“自动可见性”,则它将按预期工作,您仍将获得滚动条:

<ScrollViewer>
        <DockPanel LastChildFill="True">
            <TextBox Name="textBox1" DockPanel.Dock="Top" />
            <GroupBox Header="All Events" DockPanel.Dock="Top">
                <RichTextBox Margin="5" Name="richTextBoxEvents" />
            </GroupBox>
        </DockPanel>
    </ScrollViewer>

可以找到类似的场景

您的问题可以通过设置RichTextBox的宽度来解决

  • 通过设置一些任意宽度

    <RichTextBox Margin="5" Name="richTextBoxEvents"
                     HorizontalScrollBarVisibility="Auto"
                     VerticalScrollBarVisibility="Auto"
                     Width="100" />
    
    
    
  • 也可以指定父对象的宽度

    <RichTextBox Margin="5" Name="richTextBoxEvents"
                     HorizontalScrollBarVisibility="Auto"
                     VerticalScrollBarVisibility="Auto"
                     Width="{Binding RelativeSource={RelativeSource FindAncestor, 
                     AncestorType=Window, AncestorLevel=3}, Path=ActualWidth}" />
    
    
    
  • 在这里,您可以根据需要更改祖先级别,我将RichTextBox宽度绑定到窗口的宽度,而AncestorLevel为3