如标题我的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可以正确获取到位置,带颜色就不行了)
跟颜色有关系吗?
摘抄至---blog http://bbs.csdn.net/topics/392032612
但我自己也遇到这个问题~~想问下有没有知道~~
我用的WPF RichTextBox 我对选择的文本修改颜色后 返回的那部分文本在整个字符串的索引会增加一个?不知道怎么回事,不知道有没有那位大神知道