c# - 自动突出显示 TextBox 或 RichTextBox 中的部分文本
问题描述
是否可以突出显示文本的一部分而不选择文本的这一部分,最好在文本框或富文本框中使用不同的颜色?事实上,我的意思是,文本的一部分被另一种颜色突出显示,该颜色不同于为文本选择指定的颜色。为了澄清,我附上了一张显示这种行为的图片。(图片来自网站,而不是 WPF)。粗体和深绿色部分是刚刚突出显示的文本,灰色区域是选定部分。
解决方案
使用 RichTextBox 元素可以提供更多样式选项,据我所知,这些选项不适用于常规 TextBox 元素。
这是我创建的一种方法:
// Generate example content
FlowDocument doc = new FlowDocument();
Run runStart = new Run("This is an example of ");
Run runHighlight = new Run("text highlighting in WPF");
Run runEnd = new Run(" using the RichTextBox element.");
// Apply highlight style
runHighlight.FontWeight = FontWeights.Bold;
runHighlight.Background = Brushes.LightGreen;
// Create paragraph
Paragraph paragraph = new Paragraph();
paragraph.Inlines.Add(runStart);
paragraph.Inlines.Add(runHighlight);
paragraph.Inlines.Add(runEnd);
// Add the paragraph to the FlowDocument
doc.Blocks.Add(paragraph);
// Apply to RichTextBox
YourRichTextBoxHere.Document = doc;
推荐阅读
- google-apps-script - 多级文件夹结构
- c++ - Qt 程序运行但弹出窗口不显示任何内容
- tensorflow - 在 Keras 的“TimeDistributed(Dense())”层中使用正则化器.l1_l2 时出错
- javascript - 检查变量名是否与字符串相同
- r - st_distance - 如何可视化大型空间数据集中不同变量之间的距离
- javascript - 单击 Python Selenium 中的标签复选框以接受条款和条件
- postgresql - 错误:通过代码优先更新数据库时 EF“关系“X”的约束“FK_X_Y_”z 不存在”
- arrays - 函数返回局部变量的地址 [-Wreturn-local-addr] sprintf
- javascript - 从 JS 调用 get 方法并返回字符串
- php - 使用 Laravel Scheduler 和 Laravel Redirect 开启 PDU 设备