WPF RichTextBox - 选定的块?
我正在尝试 WPF RichTextBox,并注意到我可以通过循环 RichTextBox.Document.Blocks 来遍历构成其文档的块。
获得插入符周围的块的最佳方法是什么?
我可以获得每个块的 CaretPosition 以及 ElementStart 和 ElementEnd 属性,但看不到如何比较它们,因为除非我遗漏了一些明显的东西,否则实际的字符偏移量不会公开。
I am experimenting with the WPF RichTextBox and notice that I can itterate through the blocks that make up its document by looping through RichTextBox.Document.Blocks.
What is the best way to get the Block that surrounds the caret?
I can get the CaretPosition and the ElementStart and ElementEnd properties of each block but can't see how to compare them because the actual character offsets are not exposed unless I am missing something obvious.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
上面的答案可能适用于 WPF RTB,但不适用于 Silverlight 4.0。 SL 很可能不允许访问 RTB 的文档部分。所以你必须通过反射来做到这一点......
像这样:
Answer above probably works in WPF RTB but not in Silverlight 4.0. Most likely SL doesn't allow access to the Document protion of the RTB. So you have to do it via Reflection....
Something like this:
在 Silverlight5 中获取用于更新工具栏的属性:
In Silverlight5 get the properties to be used to update a toolbar:
此代码将返回 Paragaph 对象而不是 Block 对象,但由于 RichTextBox 中的块通常是段落,因此不会造成任何问题。
MS文档:
This code will return a Paragaph object and instead of a Block object but because the blocks in a RichTextBox are typically paragraphs this will not pose any problem.
MS Docs: