wpf - 样式资源中的事件未触发。为什么?
问题描述
我有一个非常特殊的情况,我需要在列表框中禁用可聚焦,但是无法选择其中的项目。所以我在项目样式中添加了一个 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>
解决方案
请改用PreviewMouseDown
事件。
推荐阅读
- sql-server - 如何根据在 SQL Server 中的另一列中运行总和截止值来选择一列中的值
- vips - svg图像的vips缩略图透明问题
- docker - 使用 docker-compose 和 volume 在容器之间共享数据
- dart - 如何找到两个列表之间的差异?
- python - 为什么我的源熊猫数据框没有在以下函数中更新?
- gerrit - Gerrit 将补丁集移动到合并的分支
- reactjs - 用打字稿反应地图 gl
- azure - Azure DevOps 管道期间的 SBT 凭据
- java - 如何在 JSON 中使用 oneOf 并使用 Jackson 生成 java 对象
- html - 如何根据元素的颜色Hexcode值在mat-cell中设置按钮或图标颜色