UWP RichEditBox检索文本时会自动插入换行符

时间:2018-07-08 01:55:53

标签: c# xaml uwp

每当我打电话给我

Document.GetText(TextGetOptions.FormatRtf, out string outputTxt);

换行符[character]总是始终附加在outputTxt字符串的末尾,因此当我将该文本重新加载到编辑器中时,会出现一个新的空白行。您可以看到这是一个问题,因为如果我反复加载文档,则会永久添加另一行。有解决办法吗?谢谢。

更新: 事实证明,解决此问题的唯一方法是在将文本加载到编辑器中之后手动删除烦人的换行符。另外,为确保没有视觉闪烁问题(或与此有关的任何其他问题),我建议针对此问题使用TextChanging事件,而不是TextChanged事件:

    private void RichEditBox_TextChanging(RichEditBox sender, RichEditBoxTextChangingEventArgs args)
            {
                RichEditBox.Document.BatchDisplayUpdates();
                // Load the document here:
                RichEditBox.Document.SetText(TextSetOptions.FormatRtf, txt);
                RichEditBox.Document.Selection.EndOf(TextRangeUnit.Story, false);
                RichEditBox.Document.Selection.MoveLeft(TextRangeUnit.Character, 1, false);
                RichEditBox.Document.Selection.Delete(TextRangeUnit.Character, 1);
                // Reposition the insertion point to the beginning of document. The user is used to this:
                RichEditBox.Document.Selection.StartOf(TextRangeUnit.Story, false);
                RichEditBox.Document.ApplyDisplayUpdates();
            }

0 个答案:

没有答案