Подтвердить что ты не робот

Добавить несколько обработчиков событий для одного события в 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? Спасибо за любой намек!

4b9b3361

Ответ 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>