WPF标签点击事件未被触发

时间:2014-12-08 06:50:34

标签: c# wpf

我有一个标签控件,我已将下面的样式应用于此标签,使其显示为红色圆角按钮。

<Style x:Key="LabelButton" TargetType="{x:Type Label}">
        <Setter Property="Background" Value="#ff6666" />
        <Setter Property="Foreground" Value="White"/>
        <Setter Property="FontFamily" Value="OpenSans"/>
        <Setter Property="FontSize" Value="25"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Label}">
                    <Border Name="Border" Background="#FF6666" BorderBrush="#FF6666" BorderThickness="1" CornerRadius="7" Padding="3">
                        <ContentPresenter Content="{TemplateBinding Content}" 
                                          ContentTemplate="{TemplateBinding ContentTemplate}" 
                                          VerticalAlignment="Center" 
                                          HorizontalAlignment="Center"/>                                                                                       
                    </Border>                        
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

我使用了一个标签并将此样式应用于该标签,并添加了处理器以便“触摸”&#39;

<Label x:Name="lblNext" Style="{StaticResource LabelButton}" Grid.Row="4" Width="250" Height="75" PreviewTouchUp="lblNext_TouchDown">
            Next : Step 3
        </Label>

但事件并没有被解雇。我也试过了所有的预览活动。我错过了什么吗? 我想为此标签触发TouchDown和鼠标注册事件。

1 个答案:

答案 0 :(得分:1)

你可以尝试MVVM方式来做,当然,如果可能的话。应该不难。 我使用Exression Blend中的System.Windows.Interactivity.dll获得了预期的结果。

在您的XAML中:

<Label x:Name="lblNext" Style="{StaticResource LabelButton}" Grid.Row="4" Width="250" Height="75" PreviewTouchUp="lblNext_TouchDown">
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="MouseDown">
            <i:InvokeCommandAction Command="{Binding LabelClicked}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>
    Next : Step 3
</Label>

我在https://github.com/mgigirey/WPFLabelClick中提供了示例和示例。