Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Очистка событий нажатия кнопки C# WPF

GWan Ученик (140), на голосовании 1 год назад
после того как я сделал
 button.Click += somehandler; 
мне дальше по коду нужно удалить события Click, но доступа к somehandler у меня нет

могу ли я просто удалить все события привязанные к кнопке?
повторяюсь, так:

 button.Click -= somehandler; 
у меня нет возможно сделать
Голосование за лучший ответ
Uristconsult Гуру (4208) 2 года назад
Да, вы можете удалить все события, привязанные к кнопке, используя следующую конструкцию:
 button.Click = null;  
Это удалит все обработчики событий Click, привязанные к кнопке. Однако, если вы хотите удалить только определенный обработчик событий Click, то вам нужно сохранять ссылку на этот обработчик при его привязке к событию, чтобы позже использовать ее для отмены подписки на событие.
GWanУченик (140) 2 года назад
Uristconsult Гуру (4208) GWan, Если вы хотите удалить все события, привязанные к кнопке, вы можете использовать следующий код: Код CSS:
 button.ClearValue(Button.ClickEvent);  
Этот код удалит все обработчики событий, привязанные к кнопке, включая стандартный обработчик Click.
IRQ Оракул (53096) 2 года назад
Если сам добавил то почему не можешь удалить?
Похожие вопросы