Как различить отправителя и источник в перенаправленных событиях WPF - PullRequest
0 голосов
/ 01 июня 2011

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

Редактировать: Предположим, у вас есть обработчик событий и два элемента управления один дочерний от другого.Обработчик находится в родительском элементе управления.Как бы я знал заранее и без отладки, какой контроль передается как отправитель, а какой как e.source?И изменится ли это, когда вы будете рассматривать всплывающие или туннелируемые события? Общая концепция событий мне ясна, но я хотел бы понять, какой параметр использовать в обработчике событий для идентификации обоих элементов управления без отладки

1 Ответ

0 голосов
/ 01 июня 2011

Вероятно, нет исчерпывающего «ясного объяснения», потому что есть так много способов, которыми вы можете закончить событиями.Особенно, когда во многих событиях используется EventArgs.Empty, потому что нет никаких других деталей, кроме источника.

http://msdn.microsoft.com/en-us/library/17sde2xt(v=VS.100).aspx

или, более конкретно:

RoutedEvent: Source против OriginalSource

У вас есть специфический вопрос, на который вам нужно ответить?

Редактировать: из приведенного вышесвязанная статья, с ответом, похожим на ваш комментарийКогда в TextBlock возникает событие MouseDown, свойством OriginalSource будет TextBlock, но в обработчике CustomControl1 источник будет заменен на объект CustomControl1, так что другие элементы на маршруте события будут знать, что CustomControl1 получил MouseDown.

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