以编程方式向按钮添加事件

0 c# wpf

我想将一个事件添加到以编程方式生成的按钮,如下所示:

Button activityButton = new Button();
activityButton.Click += new EventHandler(onChangeActivityFilter);
Run Code Online (Sandbox Code Playgroud)

我在第二行得到以下异常:

不能隐式转换System.EventHandlerSystem.Windows.RoutedEventhandler

onChangeActivityFilter方法如下所示:

private void onChangeActivityFilter(object sender, EventArgs e)
{

}
Run Code Online (Sandbox Code Playgroud)

我想知道我做错了什么.

Zei*_*kki 5

您需要创建一个实例RoutedEventHandler:

activityButton.Click += new RoutedEventhandler(onChangeActivityFilter);
Run Code Online (Sandbox Code Playgroud)

并且还改变方法签名:

private void onChangeActivityFilter(object sender, RoutedEventArgs e)
{

}
Run Code Online (Sandbox Code Playgroud)

使用WPF引入的RoutedEvents.