C# 在XAML中为一个事件添加多个事件处理程序?
在中的过程代码中,可以执行以下操作:C# 在XAML中为一个事件添加多个事件处理程序?,c#,wpf,events,xaml,C#,Wpf,Events,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中订阅多个事件处理程序。但是,您可以
// 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>
您为什么想要这个?你想做什么?我也想做。我希望能够正确地订阅XAML中的事件,而不是以受限的方式订阅(主要是因为它提供了更整洁的代码&没有它(XAML)就感觉不完整),分号分隔或仅使用多个=“选项都很好这将允许从常规过程中自由地为特定元素编写事件处理程序,而不是只为该组合的每个元素编写特定的过程。简言之:它会更短更甜。我认为这没有抓住要点。功能组合总是可能的。但是在XAML中编写该组合可以避免为按钮指定特定的处理程序。