如何:使用TargetType单击WPF?

时间:2012-03-16 09:41:36

标签: .net wpf wpf-controls

我在MyLabel(自定义用户控件)中添加了一些MyUserControl s(自定义WPF控件)。

我需要将该标签上的点击重定向到一个函数(例如OnMyLabelClick)。

我可以将样式或某些内容与TargetType='MyLabel'相关联,以便自动将我的点击从每个myLabel重定向到该功能吗?

2 个答案:

答案 0 :(得分:0)

您可以使用附加事件。

考虑附加事件的简单示例:

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

由于路由事件在WPF中的工作方式,您可以为父容器上的所有标签注册MouseDown事件(可能是您的用户控件)。

如果您的MyLabel扩展了Label,则上述示例将起作用

答案 1 :(得分:0)

<UserControl.Resources>
    <Style TargetType="{x:Type my:MyLabel}">
        <EventSetter Event="MouseDoubleClick"
                     Handler="MyLabel_MouseDoubleClick" />
    </Style>