Проверьте, существует ли событие - PullRequest
9 голосов
/ 27 сентября 2010

У меня есть событие строки загрузки сетки данных

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

, и в обработчике я создаю другое событие.В следующем коде, как я могу узнать, существует ли уже событие MouseLeftBtn для этой строки?

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

Спасибо,

Voodoo

1 Ответ

14 голосов
/ 27 сентября 2010

Исходя из вашего комментария, что вы не хотите прикреплять несколько обработчиков в этом случае, я отписываюсь, а затем переписываюсь.Он не выдает ошибку отмены подписки, если ее не существует, и обеспечивает только один обработчик.

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