首页 > 解决方案 > 如何更改插入符号格式

问题描述

我的问题是,当我将文本粘贴到富文本框中时,我想摆脱所有格式。现在这基本上有效:

private void RichTextBox1_Pasting(object sender, DataObjectPastingEventArgs e)
{
    if (hasImage(Clipboard.GetDataObject()))
    {
        e.CancelCommand();
    }

    RichTextBox rtb = sender as RichTextBox;

    if (Clipboard.ContainsText(TextDataFormat.Rtf) || Clipboard.ContainsText())
    {
        // get rid of formatting
        string append = Clipboard.GetText(TextDataFormat.UnicodeText);
        Clipboard.SetText(append, TextDataFormat.UnicodeText);
    }
}

问题是:如果我之前在富文本框中设置了格式文本(例如,粗体文本)并删除了此文本,插入符号仍然是粗体(如果之前选择了斜体,则为斜体 - 这很容易发现,因为插入符号会倾斜!)。在这种情况下,文本也将以这种格式插入。我怎样才能摆脱它?

标签: c#wpfrichtextbox

解决方案


如果要清除以前格式的整个文档,可以执行以下操作:

TextRange wholeDocument = new TextRange(Document.ContentStart, Document.ContentEnd);
wholeDocument.ClearAllProperties();

如果您想保留以前的格式(即您正在追加),看起来这可能很有用:https ://msdn.microsoft.com/en-us/library/ms597038(v=vs.110).aspx


推荐阅读