Итак, у меня есть WPF RichTextBox
, который будет привязан к длинной строке текста.Динамическая подстрока текста в RichTextBox
Что я хочу сделать, это использовать набор из двух объектов TextPointer
, так что в любой момент времени текст между двумя указателями имеет стиль, применяемый к нему. (Например, измените цвет фона/переднего плана текста.), Когда пользователь перемещает выбор. Как только текст больше не находится между двумя указателями, стиль должен быть сброшен до исходного стиля.
Желаемое поведение похоже на (хотя и не такое же), как вы можете щелкнуть и перетащить, чтобы выделить/выбрать текст на веб-сайте, например. Вместо того, чтобы щелкать и перетаскивать (пользователь НЕ должен этого делать, я буду программно определять конечные точки.)
Я не могу понять, как это сделать. Я знаю, что я могу применить необходимые стили к <Run></Run>
, но я не могу понять, как получить определенную подстроку текста из элемента управления и применить (а также удалить) теги Run
к нему программно.
Идеальным решением было бы изменить стиль, применяемый методом select. Я немного опасаюсь сделать это (если это даже можно сделать), поскольку я не уверен, что можно отключить выбор пользователя (без отключения мыши), и у меня все еще есть программный выбор.
пытаются объяснить с изображением. перемещение выделенного текста уже доступно в RTB. – AnjumSKhan