0

我正在尝试实现本文中描述的单击复选框: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 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 事件触发。任何想法为什么这没有发生?

4

1 回答 1

0

我相信问题是你已经AutoGenerateColumns设置为true,所以它的行为有点不同。在这种情况下,我相信您需要处理AutoGeneratingColumnAutoGeneratedColumn事件并手动连接处理程序。

看看这篇博文,看看如何做到这一点。这个答案解决了同样的问题,并向下滚动答案以查看使用自动生成的列处理它的不同选项。

于 2013-05-01T02:43:52.863 回答