Добавить несколько обработчиков событий для одного события в XAML? - PullRequest
12 голосов
/ 02 августа 2010

в процедурном коде in может выполнять следующие действия:

// Add two event handler for the button click event
button1.Click += new RoutedEventHandler(button1_Click_1);
button1.Click += new RoutedEventHandler(button1_Click_2);

Но как добавить несколько обработчиков событий для события нажатия кнопки в XAML?Спасибо за любую подсказку!

Ответы [ 2 ]

8 голосов
/ 02 августа 2010

Вы не можете подписать более одного обработчика событий в XAML. Однако вы можете добиться того же эффекта, подписавшись на один обработчик событий, а затем вызвав два или более методов из обработчика событий.

    private void Button_OnClick(object sender, RoutedEventArgs e)
    {
        ButtonOnClick1();
        ButtonOnClick2();
    }

    private void ButtonOnClick1()
    {
        //Do something...
    }

    private void ButtonOnClick2()
    {
        //Do something...
    }
1 голос
/ 02 октября 2016

Вы можете указать несколько обработчиков в 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...