c# - 如何更改插入符号格式
问题描述
我的问题是,当我将文本粘贴到富文本框中时,我想摆脱所有格式。现在这基本上有效:
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);
}
}
问题是:如果我之前在富文本框中设置了格式文本(例如,粗体文本)并删除了此文本,插入符号仍然是粗体(如果之前选择了斜体,则为斜体 - 这很容易发现,因为插入符号会倾斜!)。在这种情况下,文本也将以这种格式插入。我怎样才能摆脱它?
解决方案
如果要清除以前格式的整个文档,可以执行以下操作:
TextRange wholeDocument = new TextRange(Document.ContentStart, Document.ContentEnd);
wholeDocument.ClearAllProperties();
如果您想保留以前的格式(即您正在追加),看起来这可能很有用:https ://msdn.microsoft.com/en-us/library/ms597038(v=vs.110).aspx
推荐阅读
- php - 如何将php登录表单链接到另一个网站
- python - 从文本文件中删除不符合条件的行
- java - Java 大十进制一半偶数错误?
- php - PHP mkdir() 不创建存档
- wordpress - 计数帖子具有特定的元键或值?
- ios - 在应用内打开原生 iOS 音频输出目的地选择器
- scala - 将 scala 数据框列组合成单个案例类
- angular - Angular 7 应用程序的生产路线因 Http 500 或 404 服务器错误而失败
- nativescript - 如何在 Nativescript 中使用 MediaFilePicker 和 PhotoEditor 插件
- javascript - 如何计算混合费用?