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

如标题我的RichTextBox里面的文本是有颜色的文本内容如图所示

WPF RichTextBox 带颜色文本获取选中文本索引位置的问题_第1张图片

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可以正确获取到位置,带颜色就不行了)

跟颜色有关系吗?

摘抄至---blog  http://bbs.csdn.net/topics/392032612

但我自己也遇到这个问题~~想问下有没有知道~~


我用的WPF RichTextBox 我对选择的文本修改颜色后 返回的那部分文本在整个字符串的索引会增加一个?不知道怎么回事,不知道有没有那位大神知道

你可能感兴趣的:(WPF RichTextBox 带颜色文本获取选中文本索引位置的问题)