2016-03-24 2 views
0

Я работаю в wpf и visual basic. Когда я выбираю текст в RichTextBox я использую TextRange:Как сбросить TextRange для выбора только последнего выбора в RichTextBox?

dim selection1 as New TextRange(Richtextbox.selection.start,Richtextbox.selection.end) 

Позже:

selection1.ApplyPropertyValue(ForegroundProperty, brushes.Red) 

Когда я текст много раз маркировки цвета меняется также в предыдущих выборах. Я хочу изменить цвет только в последний раз. Как это сделать?

ответ

0

Почему вы не кэшируете предыдущий выбор и предыдущий цвет?

RichTextBox.BeginChange(); 
selection?.ApplyPropertyValue(ForegroundProperty, lastColor); 
selection = RichTextBox.Selection; 
selection.ApplyPropretyValue(ForegroundProperty, newColor); 
RichTextBox.EndChange();