C# 无法隐式转换类型';System.EventHandler';至';System.Windows.RoutedEventHandler';在c中#
在windows phone应用程序中,我想动态添加一个按钮,如下所示:C# 无法隐式转换类型';System.EventHandler';至';System.Windows.RoutedEventHandler';在c中#,c#,windows-phone-8,C#,Windows Phone 8,在windows phone应用程序中,我想动态添加一个按钮,如下所示: Button btn = new Button(); btn.Content = tb_groupname.Text; btn.Width = 200; btn.Height = 200; btn.Click += new EventHandler(btn_Click);//Click event 但当我在按钮上添加click事件时,我得到以下错误: Cannot implicitly convert type 'Sys
Button btn = new Button();
btn.Content = tb_groupname.Text;
btn.Width = 200;
btn.Height = 200;
btn.Click += new EventHandler(btn_Click);//Click event
但当我在按钮上添加click事件时,我得到以下错误:
Cannot implicitly convert type 'System.EventHandler' to 'System.Windows.RoutedEventHandler'
下面是按钮的点击事件方式:
private void btn_Click(object sender, EventArgs e)
{
textbox1.text = "ABC"; // For Example
}
我不明白为什么会有这样的错误。
请建议我,等待答复。
谢谢。事件处理程序的签名错误 应该是:
private void btn_Click(object sender, RoutedEventArgs e)
事件分配应更改为:
btn.Click += new RoutedEventHandler(btn_Click);//Click event
您需要使用
RoutedEventHandler
(可在System.Windows
程序集中找到)
在您的情况下,您应该能够更改btn.Click+=neweventhandler(btn\u Click)代码>带有btn.Click+=new System.Windows.RoutedEventHandler(btn\u Click)代码>;然后更改EventArgs
ob btn\u单击以RoutedEventArgs
确保添加对系统.Windows
程序集的引用,否则它将无法编译
查看MSDN,我得到了以下信息:
RoutedEventHandler委托用于执行以下操作的任何路由事件:
不在事件数据中报告特定于事件的信息。有
许多这样的事件;突出的例子包括单击和加载
为路由服务器编写处理程序之间最值得注意的区别
与通用公共语言运行库(CLR)事件相反的事件是
事件的发送者(处理程序所在的元素)
附加和调用)不一定是
事件的来源。源在事件中报告为属性
数据(来源)。发送方和源之间的差异是
在遍历过程中路由到不同元素的事件
通过元素树路由的事件
链接到。按钮点击是Patrick Hofman提到的路由事件
如果您不想要新事件,您甚至可以通过编写来缩短
点击+=btn\U点击 这给我带来了另一个错误,btn\u Click“matches delegate”系统没有重载。EventHandler'
您是否也更改了Click
分配?单击分配应指向