[RichTextBox] probleme de position
bonjour
toujours dans le cadre de ma RichTextBox
j'aimerais coloriser les link (au moins dans un premiers temps)
donc
imaginanom que j'ai le texte suivante dedans
Code:
1 2 3 4 5
| <FlowDocument>
<Paragraph>
<Run Text="RichTextBox aaaaaaaaaa bbbbbbbbbbbb ccccccccccc toto@gmail.com dddddddddd eeeeeeeeee sdsdfsdfdsfsdf sdfdsfdsdsfdsf sdfsddsfsdf sdsddsfsdds sddsdsfsd sddsdsdsfds sdsddssddfsf sdsddsfdsfddsf sddsdsfdsfds dsdsdsfdsfds sddsdsfdsfdfs sdfsddsdfdsdsf sddsfdsdsffds sddsfdsdsf sddsdsfdsf" />
</Paragraph>
</FlowDocument> |
si j'ai le code suivant dans TextChanged de la richtextbox
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| TextRange textRange = new TextRange(this.Document.ContentStart, this.Document.ContentEnd);
string text = textRange.Text;
var linkParser = new Regex(@"\b(?:https?://|www\.)\S+\b", RegexOptions.Compiled | RegexOptions.IgnoreCase);
MatchCollection mc = linkParser.Matches(text);
foreach (Match m in mc)
{
TextPointer tp = this.Document.ContentStart;
TextPointer start = this.Document.ContentStart.GetPositionAtOffset(m.Index);
TextPointer end = this.Document.ContentStart.GetPositionAtOffset(m.Index + m.Length);
TextRange tr = new TextRange(start, end);
this.Selection.Select(start, end);
Console.WriteLine("MATH index = " + m.Index + " > " + m.Value);
} |
et que je tape http:// juste devant ccccccccccc
j'ai un decalge de 2 position sur la selection
si vous avez une petite idée