c# - WPF RichTextBox - 选定的 block ?

标签 c# wpf richtextbox

我正在试验 WPF RichTextBox 并注意到我可以通过遍历 RichTextBox.Document.Blocks 来遍历构成其文档的 block 。

获取插入符号周围的 block 的最佳方法是什么?

我可以获得每个 block 的 CaretPosition 以及 ElementStart 和 ElementEnd 属性,但看不到如何比较它们,因为除非我遗漏了一些明显的东西,否则不会公开实际的字符偏移量。

最佳答案

var curCaret = richTextBox1.CaretPosition;
var curBlock = richTextBox1.Document.Blocks.Where(x => x.ContentStart.CompareTo(curCaret) == -1 && x.ContentEnd.CompareTo(curCaret) == 1).FirstOrDefault();

关于c# - WPF RichTextBox - 选定的 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2553090/

相关文章:

c# - 确定 RichTextBox 的字体样式(粗体、斜体、下划线)

c# - 如何在 ViewModel 中捕获动态按钮点击

wpf - 在手动检查视觉元素(MVVM)之前,绑定(bind)到 ItemsSource 不起作用

c# - 我怎么知道 ffmpeg arguments 命令行中每个参数的作用?

c# - PowerShell 中的参数属性默认值 (C# cmdlet)

wpf - ResourceDictionary 源绑定(bind)到模块(用于本地化)

wpf - 在不按住 CTRL 的情况下单击 RichTextBox 中的超链接 - WPF

c# - 将 RichTextBox.Text 数据绑定(bind)到字符串

c# - Lock 语句与 Monitor.Enter 方法

c# - 添加可点击的游戏对象 c#