【发布时间】:2014-04-07 13:10:18
【问题描述】:
我在视图模型中使用“粘贴”按钮命令从剪贴板复制 RTF。 PastedText 是我认为 RichTextBox 绑定到的字符串属性:
private void FormatPastedTextCommandAction()
{
PastedText += Clipboard.GetText(TextDataFormat.Rtf);
}
这很有效,并且在按下“粘贴”按钮时会粘贴文本。但是,我想锁定粘贴功能上的格式并从粘贴的 RTF 字符串中删除所有格式(颜色、斜体、设置为黑色 Arial 12)。
我只会使用PastedText += Clipboard.GetText();
获取纯文本,但它以不同的字体大小粘贴,我需要 RTF 格式。我已经研究过迭代 RTF 字符串并对字体大小、颜色等进行查找/替换。但即使对于几个单词,RTF 也非常复杂。
有没有办法解决这个问题?谢谢
【问题讨论】:
-
GetText()仅返回文本,不包含任何格式。您看到的是您自己的代码(或 XAML)格式应用于PastedText的内容。 -
是的,但是 GetText(TextDataFormat.RTF) 返回 RTF 以及粘贴文本的格式。我知道 GetText() 只会返回未格式化的文本,但我需要它作为 RTF...
-
使用 GetText() 我得到了我输入的文本的 RTF 格式,然后是附加到 RTF 末尾的纯文本。这会导致粘贴的文本在 RichTextBox 中创建一个新行,并且该粘贴文本的 FontSize 默认为 16...
标签: c# wpf mvvm richtextbox rtf