WPF如何将相同的事件Lambda表达式分配给两个不同的元素 [英] WPF How to assign the same event lambda expression to two different elements

查看:137
本文介绍了WPF如何将相同的事件Lambda表达式分配给两个不同的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个具有在后面的代码中定义的相同属性的数据网格.

I have two datagrids with same properties defined in code behind.

var dtg = new DataGrid();

然后我通过lambda表达式分配一个事件(相当长的一个):

then I assign an event though lambda expression (quite a long one):

dtg.LoadingRow += (object sender, DataGridRowEventArgs e) =>
{
    ...
};

我不想复制. 那么我该怎么做(伪代码):

which I do not want to replicate. So how can I do that (pseudocode):

var dtg2 = new DataGrid();
dtg2.LoadingRow = dtg.LoadingRow;

感谢

推荐答案

只需将您的lambda分配给变量:

simply assign your lambda to variable:

EventHandler<DataGridRowEventArgs> handler =  (object sender, DataGridRowEventArgs e) =>
{
    ...
};
var dtg2 = new DataGrid();
dtg2.LoadingRow += handler;

或者更好的是,为您的处理程序命名-将其设为类中的普通方法并使用其名称.

Or, better, name your handler - make it to an ordinary method in your class and use its name.

这篇关于WPF如何将相同的事件Lambda表达式分配给两个不同的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆