я должен использовать RoutedEventHandler - PullRequest
7 голосов
/ 17 октября 2010

В чем разница между этими двумя:

_btnAddNew.Click += OnAddNewClick;

 _btnAddNew.Click += new RoutedEventHandler(OnAddNewClick);

Спасибо !!

Ответы [ 2 ]

10 голосов
/ 17 октября 2010

Нет никакой разницы ... первый - это ярлык для второго.

На самом деле, если вы попробуете оба пути, а затем с помощью Reflector разберите сборку, вы увидите, что она абсолютно одинакова, и оба интерпретируются как:

_btnAddNew.Click += new RoutedEventHandler(OnAddNewClick);
0 голосов
/ 11 июля 2012

копирование из: http://msdn.microsoft.com/en-us/library/system.windows.routedeventhandler.aspx

Делегат RoutedEventHandler используется для любого перенаправленного события, которое не сообщает информацию о конкретном событии в данных события.Есть много таких перенаправленных событий;яркими примерами являются Click and Loaded.

Наиболее заметное различие между написанием обработчика для перенаправленного события в отличие от общего события времени выполнения общего языка (CLR) заключается в том, что отправитель события (элемент, где находится обработчик).прикреплен и вызван) не может считаться источником события.Источник сообщается как свойство в данных события (Источник).Разница между отправителем и источником является результатом того, что событие перенаправляется в разные элементы во время прохождения перенаправленного события через дерево элементов.

Вы можете использовать отправителя или источник для ссылки на объект, если вынамеренно не заинтересован в поведении маршрутизации прямого или пузырькового перенаправленного события, и вы намереваетесь обрабатывать перенаправленные события только в тех элементах, где они впервые возникли.В этом случае отправитель и источник - это один и тот же объект.

Если вы намерены воспользоваться преимуществами присущих маршрутизируемых событий и соответственно написать свои обработчики, два наиболее важных свойства данных события, которые вы будете использоватьработать с при написании обработчиков событий Source и Handled.

Для определенных комбинаций входных событий и классов управления WPF элемент, который вызывает событие, не является первым элементом, который имеет возможность обрабатывать его.Если у входного события есть предварительная версия события, то у корня дерева элементов есть первая возможность, он может установить значение Handled в true в данных общего события и может влиять на то, как входное событие сообщается оставшимся элементам в его маршруте события.,Поведение обработки Preview может создать впечатление, что конкретное перенаправленное событие не вызывается должным образом.Для получения дополнительной информации см. Предварительный просмотр событий и Обзор ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...