如何修复DataGridCell PreviewMouseLeftButtonDown事件不触发
本文关键字:事件 PreviewMouseLeftButtonDown 何修复 DataGridCell | 更新日期: 2023-09-27 18:11:31
我正在尝试实现本文中描述的单击复选框:http://wpf.codeplex.com/wikipage?title=Single-Click%20Editing
我有style标签在我的资源:
<Window.Resources>
<Style TargetType="{x:Type DataGridCell}">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="DataGridCell_PreviewMouseLeftButtonDown"></EventSetter>
</Style>
</Window.Resources>
代码隐藏事件也从文章中逐字复制。我有一个DataGrid:
<DataGrid x:Name="DataGridSelectMusic" Margin="170.55,236.139,38,66.723" AutoGenerateColumns="True" PreviewMouseLeftButtonUp="DataGridSelectMusic_PreviewMouseLeftButtonUp_1">
<DataGrid.Background>
<SolidColorBrush Color="#FFD4D0C8" Opacity="0.5"/>
</DataGrid.Background>
</DataGrid>
数据网格的数据绑定在代码后面。
问题是在这个DataGrid中点击一个DataGridCell并不会导致PreviewMouseLeftButtonDown事件触发。知道为什么没有发生吗?
我认为问题是你已经把AutoGenerateColumns
设置为true
,所以它的行为有点不同。在这种情况下,我认为您需要处理AutoGeneratingColumn
和AutoGeneratedColumn
事件,并手动连接处理程序。
看看这篇博客,看看如何做到这一点。这个答案解决了同样的问题,向下滚动答案以查看使用自动生成的列处理这个问题的不同选项。