Как: щелкнуть в WPF с TargetType? - PullRequest
0 голосов
/ 16 марта 2012

Я так динамически добавляю MyLabel s (пользовательские элементы управления WPF) в MyUserControl (Custom UserControl).

Мне нужно перенаправить щелчок по этим меткам в функцию (скажем, OnMyLabelClick).

Могу ли я связать стиль или что-то с TargetType='MyLabel', чтобы автоматически перенаправлять мой клик с каждого myLabel на эту функцию?

Ответы [ 2 ]

0 голосов
/ 16 марта 2012
<UserControl.Resources>
    <Style TargetType="{x:Type my:MyLabel}">
        <EventSetter Event="MouseDoubleClick"
                     Handler="MyLabel_MouseDoubleClick" />
    </Style>
0 голосов
/ 16 марта 2012

Для этого вы можете использовать прикрепленные события.

Рассмотрим простой пример вложенных событий:

<StackPanel Label.MouseDown ="Label_MouseDown">
    <MyLabel>ABC</MyLabel>
    <MyLabel>DEF</MyLabel>
    <MyLabel>FGH</MyLabel>
</StackPanel>

Из-за способа работы перенаправленных событий в WPF вы можете зарегистрировать событие MouseDown для всех меток в родительском контейнере (может быть вашим пользовательским элементом управления).

Если ваш MyLabel расширяет Label, приведенный выше пример будет работать

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