文本不适合富文本框

时间:2018-05-27 08:38:43

标签: c# .net

我有一个带有RichTextBox的WPF。 de RichTextBox内的文本不适合该框,不会显示。 我希望文本在到达行尾时返回到新行。

在StackOverflow或this question上有很多与this blog相关的问题,但我很惊讶我无法应用它们: 文字环绕似乎是原生的 - 但它不适合我。 还有像myRTBox.WordWrap不可用的函数吗?

是否有不同类型的RichTextBox(我使用System.Windows.Controls.RichTextBox)?如果不是,你有强迫包装的想法吗?

public partial class UserControl1 : System.Windows.Controls.UserControl
{
   public UserControl1()
   {
       InitializeComponent();
       RTBox.Document.Blocks.Clear();
       RTBox.AppendText("a long message to test how it will be displayed in a rich text box");
...

和xaml

<RichTextBox x:Name="RTBox" IsReadOnly="True " HorizontalAlignment="Left" Height="65" Margin="12,16,0,0" VerticalAlignment="Top" Width="168" Background="#AAEA900F" HorizontalScrollBarVisibility="Disabled">
        <FlowDocument Language="en-us">
            <Paragraph>
                <Run Text="Test to display a text larger than a single line"/>
            </Paragraph>
        </FlowDocument>
    </RichTextBox>

2 个答案:

答案 0 :(得分:2)

您使用的是RichTextBox for WPF而不是standard one for WinForms 正确的命名空间是 System.Windows.Forms.RichTextBox

此示例using LinqPad向您显示WordWrap可用

void Main()
{
    Form f = new Form();
    System.Windows.Forms.RichTextBox RTBox = new System.Windows.Forms.RichTextBox();
    RTBox.Clear();
    RTBox.WordWrap = true;
    RTBox.AppendText("a long message to test how it will be displayed in a rich text box");
    f.Controls.Add(RTBox);
    f.Show();
}

答案 1 :(得分:1)

试试这个:

RTBox.Multiline = true;