Как добавить eventsetter по коду
Полный пример
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");
}
Но когда я запускаю приложение, возникает исключение: недопустимый тип обработчика
что не так с этим кодом?
1 ответ
Решение
EventSetter
ожидает, что делегат, которого вы предоставляете, будет MouseButtonEventHandler
не mouseup_delegate
,