Изменить уже подключенный обработчик событий - PullRequest
5 голосов
/ 22 ноября 2011

Я создал TextBox динамически и подключил к нему обработчик события Tap, используя:

control.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(OnClick1);

Он работает нормально.Но теперь я хочу изменить обработчик события, чтобы он указывал на другой метод.Я попытался:

control.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(OnClick2);

Но он все еще указывает на первый обработчик событий.то есть OnClick1.Что я могу сделать, чтобы указать OnClick2?Также есть ли способ полностью удалить этот обработчик событий?

1 Ответ

13 голосов
/ 22 ноября 2011

Сначала необходимо удалить первый обработчик:

control.Tap -= OnClick1;
control.Tap += OnClick2;

(Обратите внимание на более простое использование групповых преобразований методов вместо явного создания обработчика событий. Он делает то же самое, но гораздо более читабелен.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...