WPF RichTextBox 带颜色文本获取选中文本索引位置的问题

lihengupdate 2016-10-14 06:59:19
如标题我的RichTextBox里面的文本是有颜色的文本内容如图所示

dfs fsf3sdfsdfsdfs fsdfdsfsdfsf (空格中间部分为我选中的文本内容)
当我选中中间的一段字符串时(位置从第4个字符选到17个字符)
我用代码获取
方法1:
var start= rich2.Selection.Start;
var startP = rich2.GetPositionFromPoint(new Point(0, 0), true);
int befLocation = startP .GetOffsetToPosition(start);
int endLocation = startP .GetOffsetToPosition(rich2.Selection.End);
方法2:
int start = rich2.Document.ContentStart.GetOffsetToPosition(rich2.Selection.Start);
int end = rich2.Document.ContentStart.GetOffsetToPosition(rich2.Selection.End);
int length = rich2.Selection.Start.GetOffsetToPosition(rich2.Selection.End);

两种方法均获取不到所中字符的开始和结束的位置(如果不带颜色的普通字符串方法1可以正确获取到位置,带颜色就不行了)
跟颜色有关系吗?
请问我在后台怎么才能正确获取如上图实例所示的选中的字符位置是从4~17呢???
...全文
344 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
大神,请问下你这个问题解决了吗?我用的WPF RichTextBox 我对选择的文本修改颜色后 返回的那部分文本在整个字符串的索引会增加一个
lihengupdate 2016-10-17
  • 打赏
  • 举报
回复
没人顶我自己顶个~~~~~~~

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧