检查事件是否已存在

时间:2010-09-27 00:20:01

标签: c# silverlight datagrid

我有一个数据网格加载行事件

_gridObj.LoadingRow += new EventHandler<DataGridRowEventArgs>(_gridObj_LoadingRow);

在处理程序中我正在创建另一个事件。在下面的代码中,我如何知道该行是否已存在MouseLeftBtn事件?

void _gridObj_LoadingRow(object sender, DataGridRowEventArgs e)
{
    e.Row.MouseLeftButtonUp += new MouseButtonEventHandler(Row_MouseLeftButtonUp);
}

谢谢,

巫毒

1 个答案:

答案 0 :(得分:14)

根据您的评论,在这种情况下您不想附加多个处理程序,我取消订阅然后重新订阅。如果不存在则不会给出取消订阅错误,并且只确保一个处理程序。

void _gridObj_LoadingRow(object sender, DataGridRowEventArgs e)
{
    e.Row.MouseLeftButtonUp -= new MouseButtonEventHandler(Row_MouseLeftButtonUp);
    e.Row.MouseLeftButtonUp += new MouseButtonEventHandler(Row_MouseLeftButtonUp);
}