Делаю токенизатор на WPF C#, хотел сделать подсветку токенов цветом, для начала решил сделать чередование 5 красных и 5 черных символов, в результате чередование наложилось не на весь текст и еще не правильно.
string str_source = new TextRange(RichTextBox_input.Document.ContentStart, RichTextBox_input.Document.ContentEnd).Text + ' ';
for (int i = 0; i < str_source.Length; i += 5)
{
if (i % 10 == 0)
{
selection_color(i, 5, new SolidColorBrush(Color.FromRgb(255, 0, 0)));
}
}
Вот метод который написал для выделения цветом текста:
public void selection_color(int start,int length, SolidColorBrush color)
{
TextPointer textPointerStart = RichTextBox_input.Document.ContentStart.GetPositionAtOffset(start);
TextPointer textPointerEnd = RichTextBox_input.Document.ContentStart.GetPositionAtOffset(start + length);
var selection = RichTextBox_input.Selection;
selection.Select(textPointerStart, textPointerEnd);
selection.ApplyPropertyValue(TextElement.ForegroundProperty, color);
}
В результате получаю вот такое:
Хотелось бы узнать в чем ошибка и почему не работает чередование 5 красных и 5 черных символов
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости