【发布时间】:2012-05-09 02:35:56
【问题描述】:
一个完整的例子
public delegate void mouseup_delegate(object obj, MouseButtonEventArgs args);
constructor()
{
TextBlock text_block = new TextBlock() { Text = "aa" };
Style style = new Style();
//style.Setters.Add(new EventSetter(){Event=TextBlock.MouseUpEvent, Handler=new mouseup_delegate(this.textblockClicked)});
style.Setters.Add(new EventSetter(TextBlock.MouseUpEvent, new mouseup_delegate(this.textblockClicked)));
text_block.Style = style;
}
public void textblockClicked(object sender, MouseButtonEventArgs args)
{
MessageBox.Show("mouse up");
}
但是当我运行应用程序时,出现异常:处理程序类型无效
这段代码有什么问题?
【问题讨论】:
-
改用这个有用吗?
new EventSetter(TextBlock.MouseUpEvent, new urlClickDelegate(this.url_click)) -
谢谢,但异常仍然出现。如果我不将 url_style(contains the EventSetter) 分配给 TextBlock.Style,则不会抛出异常
标签: c# wpf delegates event-handling eventsetter