我正在尝试实现本文中描述的单击复选框:http://wpf.codeplex.com/wikipage?title=Single-Click%20Editing
我的资源中有样式标记:
<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事件触发。任何想法为什么没有发生这种情况?
答案 0 :(得分:0)
我认为问题是你已将AutoGenerateColumns
设置为true
,因此它的行为略有不同。在这种情况下,我认为您需要处理AutoGeneratingColumn
和AutoGeneratedColumn
事件并手动连接处理程序。
看看this blog post,看看如何做到这一点。 this answer解决了同一问题,向下滚动答案,查看使用自动生成列处理问题的不同选项。