RichTextBox在每个新行的末尾添加空间

时间:2018-07-11 01:52:44

标签: c# wpf xaml richtextbox

如何在RichTextBox的每一行中的文本末尾添加空格?

我将文本复制到字符串中并删除所有换行符。但是,如果每行的末尾没有空格,则单词将触摸下一行的单词,而不是隔开。


示例:

  

你好
  世界。

删除换行符:

  

Helloworld。

修复

  

你好<-插入空格
  世界。

删除换行符:

  

你好,世界。


如果在RichTextBox中键入时添加空格,它将起作用,但是如果缺少空格,我想自动添加一个空格。我将其删除时,双倍空格无关紧要。

也许是for loop遍历每行,添加到List,然后string.Join()space隔开?但是如何遍历每个NewLine


XAML

<RichTextBox x:Name="rtbScript" 
             Margin="11,71,280,56" 
             FontSize="14" 
             VerticalScrollBarVisibility="Auto">
</RichTextBox>

C#

Paragraph scriptParagraph = new Paragraph();

获取RichTextBox内容:

public static String GetRichTextBoxContents()
{
    // Select All Text
    TextRange textRange = new TextRange(
        rtbScript.Document.ContentStart,
        rtbScript.Document.ContentEnd
    );

    return textRange.Text;
}

将内容复制到字符串并删除换行符:

string inlineContents = GetRichTextBoxContents()
                            .Replace(Environment.NewLine, "")
                            .Replace("\n", "")
                            .Replace("\r\n", "");

0 个答案:

没有答案