Как добавить несколько обработчиков для присоединенного события в XAML? - PullRequest
3 голосов
/ 21 мая 2010

Пример кода:

<DataTemplate x:Key="NodeDataTemplate">
    <Border Style="{StaticResource nodeBorderStyle}"
                        MouseEnter="SetMouseCursor_Arrow"
                        MouseLeave="SetMouseCursor_ScrollAll"
                        MouseLeftButtonDown="ViewLink"
                        MouseLeftButtonDown="SetFlagForCursorTracking">
....
</DataTemplate>

Я хочу добавить 2 обработчика к определенному событию, как показано выше. Однако это не скомпилируется - «атрибут может быть установлен более одного раза». У меня есть несколько методов, потому что они делают разные вещи (названы соответствующим образом). например первый обработчик не имеет ничего общего со вторым.

Другим вариантом было использование метода SetFlagForCursorTrackingAndCheckForViewLink - «Yech!». Есть идеи?

Ответы [ 2 ]

3 голосов
/ 21 мая 2010

Пожалуйста, попробуйте просто добавить один обработчик, который впоследствии вызовет некоторый метод обработки событий. Или добавьте только один обработчик, который впоследствии вызовет два желаемых вами метода обработки событий - это будет более элегантно.

0 голосов
/ 21 мая 2010

Вы можете сделать это в коде позади,

UIObject.AddHandler( AttachedEventContainer.AttachedEvent, your_handler);

UIObject.AddHandler( AttachedEventContainer.AttachedEvent, your_handler);

Я не пробовал и не проверял это, если это дает какую-либо ошибку, у вас нет выбора, кроме как использовать метод и вызывать два обработчика событий вручную в этом методе и присоединенный метод в качестве обработчика события.

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