Добавить несколько обработчиков событий для одного события в XAML?
в процедурном коде может сделать следующее:
// Add two event handler for the button click event
button1.Click += new RoutedEventHandler(button1_Click_1);
button1.Click += new RoutedEventHandler(button1_Click_2);
Но как я могу добавить несколько обработчиков событий для события нажатия кнопки в XAML?
Спасибо за любой намек!
Ответы
Ответ 1
Вы не можете подписывать более одного обработчика событий в XAML. Однако вы можете добиться такого же эффекта, подписавшись на один обработчик событий и затем вызывая два или более метода из обработчика событий.
private void Button_OnClick(object sender, RoutedEventArgs e)
{
ButtonOnClick1();
ButtonOnClick2();
}
private void ButtonOnClick1()
{
//Do something...
}
private void ButtonOnClick2()
{
//Do something...
}
Ответ 2
Вы можете указать несколько обработчиков в xaml
следующим образом:
<Style TargetType="{x:Type Button}">
<EventSetter Event="Click" Handler="ChangeBackground1"/>
<EventSetter Event="Click" Handler="ChangeBackground2"/>
<EventSetter Event="Click" Handler="ChangeBackground3"/>
<EventSetter Event="Click" Handler="ChangeBackground4"/>
</Style>