在过程化代码中,可以执行以下操作:
// Add two event handler for the button click event
button1.Click += new RoutedEventHandler(button1_Click_1);
button1.Click += new RoutedEventHandler(button1_Click_2);
但是我该如何在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中为按钮的单击事件添加多个事件处理程序呢?感谢任何提示!
在XAML中,您不能订阅多个事件处理程序。但是,您可以通过订阅单个事件处理程序,然后从事件处理程序调用两个或更多方法来实现相同的效果。
private void Button_OnClick(object sender, RoutedEventArgs e)
{
ButtonOnClick1();
ButtonOnClick2();
}
private void ButtonOnClick1()
{
//Do something...
}
private void ButtonOnClick2()
{
//Do something...
}
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>