WPF — TextChangedEventArgs запускается дважды, и когда e.Changes может быть больше 1?

#wpf

#wpf

Вопрос:

TextChangedEventArgs запускается дважды в моем элементе управления RichTextBox.

Это нормально?

Кроме того, когда e.Changes (вы знаете TextChangedEventArgs) будет > 1. Единственный случай, который я могу придумать, — это когда кто-то вставляет в него содержимое.

Но в других случаях кажется, что при обычном наборе текста пользователь действительно может изменить только 1 абзац, верно?

Комментарии:

1. У меня такая же трудность при разработке Windows Phone 7. Сейчас я использую обходной путь функции переключения, но позже сегодня я опубликую вопрос с примером кода (и ссылку на него), чтобы увидеть, что я делаю неправильно. Следите за обновлениями 🙂

Ответ №1:

Не видя кода, будет очень сложно диагностировать проблему.

Однако, сказав это, вы дважды подписывались на TextChanged событие? У меня были подобные случаи, когда код для подписки либо находился не в том месте, либо не соответствовал коду, отписывающемуся от события.

Комментарии:

1. Должен ли я также отказаться от подписки на событие!?

2. @halivingston — это зависит от того, где вы на это подписаны. Если вы делаете это один раз в конструкторе (скажем), то это не всегда необходимо. Однако, если вы подписываетесь нажатием кнопки (скажем), тогда да, вам следует отказаться от подписки.