События от UserControl в WPF - CodeHelper

События от UserControl в WPF

1

Имеется UserControl, который является набором кнопок. Потребитель должен иметь возможность обрабатывать события Click от всех этих кнопок. Существует несколько способов реализации.

  • Определить в UserControl свое событие для каждого из событий дочерних кнопок (Button1Click, Button2Click, ..., ButtonNClick).
  • Определить в UserControl по одному событию для каждого уникального события дочерних кнопок (ButtonClick, ButtonMouseUp, ...) и в аргументах передавать информацию о том, какая конкретно кнопка вызвала событие.

Какой способ будет наиболее рациональным? Возможно существуют более элегантные решения?

Новые ответы


1

Можно воспользоваться преимуществами RoutedEvents:

<controls:MyButtonsGroup Button.Click="OnButtonClick" />

В этом случае метод OnButtonClick будет вызван при нажатии любой из кнопок внутри контрола.

2

Если контрол - это набор кнопок и их количество строго не задано, и все кнопки гомогенны, то второй вариант. Иначе первый (возможно, стоит и смешать подходы, если в контроле несколько наборов нефиксированной длины).


v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.