首页 > 解决方案 > 样式资源中的事件未触发。为什么?

问题描述

我有一个非常特殊的情况,我需要在列表框中禁用可聚焦,但是无法选择其中的项目。所以我在项目样式中添加了一个 EventSetter 来发送一个通知它已被点击,所以我在幕后切换到它,但事件没有触发。

非常感谢任何有助于使其工作的帮助!

下面是完整的 xaml 样式代码:

<Window.Resources>
    <Style
        x:Key="ListBoxItemStyle"
        BasedOn="{StaticResource {x:Type ListBoxItem}}"
        TargetType="ListBoxItem">

        <Setter Property="Padding" Value="5" />
        <Setter Property="IsTabStop" Value="False" />
        <!--  Fixes spacebar not working and some other bugs if selecting via mouse  -->
        <Setter Property="Focusable" Value="False" />
        <EventSetter
            Event="MouseDown"
            Handler="OnThumbnailSelect" />
    </Style>
</Window.Resources>

标签: wpfxamlmouseevent

解决方案


请改用PreviewMouseDown事件。


推荐阅读