通过保留文本格式将所有文本从RichTextBox1克隆到RichTextBox2

时间:2019-03-08 20:12:14

标签: c# wpf vb.net

这是我的xaml文件。

if(e.keyCode === 13 || blur) {

我想通过保留文本格式将所有文本从 RichTextBox1 克隆到 RichTextBox2

因此,粗体文本和斜体文本必须使用其格式进行克隆。

我需要解决方案背后的代码。 (C#或vb.net)

请注意,以下链接说明了如何将RichTextBox保存到xaml文件以及如何从xaml文件加载到RichTextBox。但是我不想要这样的解决方案。我不想使用外部文件。

https://docs.microsoft.com/tr-tr/dotnet/framework/wpf/controls/how-to-save-load-and-print-richtextbox-content

1 个答案:

答案 0 :(得分:1)

根据docs,您可以将RichTextBox内容保存到流中。因此可以在没有外部文件的情况下使用MemoryStream

using (var contentStream = new MemoryStream())
{
    TextRange range = new TextRange(RichTextBox1.Document.ContentStart, RichTextBox1.Document.ContentEnd);
    range.Save(contentStream, DataFormats.XamlPackage);

    //rewind stream
    contentStream.Position = 0;

    TextRange range2 = new TextRange(RichTextBox2.Document.ContentStart, RichTextBox2.Document.ContentEnd);
    range2.Load(contentStream, DataFormats.XamlPackage);
}