Когда я ввожу символ в свой RichTextBox, я хочу получить следующий символ из его TextRange.
Вот как я это делаю:
TextPointer ptr1= RichTextBox.CaretPosition;
char nextChar = GetNextChar();
//we continue until there is a character
while (char.IsWhiteSpace(nextChar))
{
ptr1= ptr1.GetNextInsertionPosition(LogicalDirection.Forward);
nextChar = GetCharacterAt(Ptr1);
}
//so now ptr1 is pointing to a character, and we do something with that TextPointer
ChangeFormat(ptr1);
затем я получаю ptr1 следующего символа и из TextPointer я получаю TextRange и делаю свои изменения.
Так вот в чем проблема?
когда следующее слово написано правильно, у меня нет проблем, но , если оно написано неправильно , тогда ptr1 не будет указывать на первый символ следующего слова (второй символ), и если я используйте GetNextContextPosition (LogicalDirection.Forward), это даст мне первую букву следующего слова, если оно написано с ошибкой. Так в зависимости от орфографии работает только один из них?
Мне просто интересно, есть ли у вас какие-либо идеи по поводу этой проблемы? Что-то не так я здесь делаю?