C#双击DataGridView与滚动条问题打开重复记录

时间:2018-07-12 08:45:31

标签: c# wpf datagridview scroll

我正在使用WPF C#应用程序,该应用程序包括带有滚动条的DataGridView。我已经编写了代码,因此无论何时选择一行,它都会打开记录。但是,我注意到,当单击滚动条时,我的应用程序还将其注册为单击事件,并且每当用户双击滚动条时,都将打开同一记录的重复副本。

为防止这种情况,我编写了代码,因此,如果用户打开相同的记录,则不会打开。用户必须单击另一条记录,因此他们可以在关闭记录后打开同一条记录。对于用户来说,这个问题有点烦人,因此,我正在尝试提出一种更好的解决方案。

此刻,我正在使用MouseDoubleClicked事件处理程序。有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

听起来像是行上需要MouseDoubleClicked,而不是数据网格本身。

<DataGrid>
    <DataGrid.RowStyle>
        <Style TargetType="DataGridRow" BasedOn="{StaticResource {x:Type DataGridRow}}">
            <EventSetter Event="MouseDoubleClick" Handler="DataGridRow_MouseDoubleClick" />
        </Style>
    </DataGrid.RowStyle>
</DataGrid>

请注意,如果您使用其他主题,则必须将“ BasedOn”属性更改为该主题提供的任何DataGridRow样式,否则将丢失包含至少行选择的背景,并且似乎无法选择。