Так если каждая кнопка вызывает свой конкретный хендлер, то зачем общий на контейнере?
Либо, если есть Большой Центральный Кликоразделитель, то зачем каждой кнопке свой конкретный слушатель?
Вы уж выберите одно из двух.
У меня в том примере слушатель на контейнер повешен с одной целью - отловить событие клика в фазе захвата и остановить его, пока событие не дошло до кнопок в контейнере.
А если Вы ловите все события контейнера и потом разбираетесь, что за кнопка породила событие и на основе этого решаете, что делать дальше, то кнопкам и не нужны собственные хендлеры. Это и есть та централизация, о которой говорил Мук. Надо только иметь систему отождествления кнопка-действие. Если отказались от колбэков, то надо либо завести словарь (Dictionary) в котором привязать каждой кнопке нужное действие (если сами действия принципиально разные) или привязать каждой кнопке какой-то параметр, который будет передаваться функции (если действия одинаковые, то есть один метод с разными параметрами).. Либо не заводить Словарь а просто хранить в кнопках этот параметр в поле класса кнопки.
|