EventSetter用于非路由事件?

Mar*_*cus 6 wpf xaml triggers styles event-handling

我有一个Label我正在尝试更改MouseDown事件,如果用户登录或不使用Trigger.

<Label x:Name="lblSave" MouseDown="lblSave_MouseDown" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" ToolTip="Save Files"  Width="25" Height="25" Margin="0, 0, 5, 0"  >
<Label.Style>
    <Style TargetType="{x:Type Label}">
        <Setter Property="Background" Value="{DynamicResource ResourceKey=saveIcon}" />
        <Style.Triggers>
            <DataTrigger Binding="{Binding Source={x:Static sec:Security.Instance}, Path=IsLoggedIn}" Value="False">
                <Setter Property="Background" Value="{DynamicResource ResourceKey=readonlyIcon}" />
                <EventSetter Event="MouseDown" Handler="lblNoAccess_MouseDown" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Label.Style>
Run Code Online (Sandbox Code Playgroud)

但是,与这篇文章相反,我所拥有的东西不会起作用,因为MouseDown它不是一个路由事件.我仍然得到System.Windows.EventSetter.Event错误:{"Value cannot be null.\r\nParameter name: value"}.

所以我的问题是,有没有办法使用触发器来设置非路由事件?

H.B*_*.B. 7

文档:

请注意,只有Style.Setters支持EventSetter对象.触发器(TriggerBase和派生类)不支持EventSetter.

(同样如评论中所述,MouseDown路由.)