我正在使用WPF C#应用程序,该应用程序包括带有滚动条的DataGridView。我已经编写了代码,因此无论何时选择一行,它都会打开记录。但是,我注意到,当单击滚动条时,我的应用程序还将其注册为单击事件,并且每当用户双击滚动条时,都将打开同一记录的重复副本。
为防止这种情况,我编写了代码,因此,如果用户打开相同的记录,则不会打开。用户必须单击另一条记录,因此他们可以在关闭记录后打开同一条记录。对于用户来说,这个问题有点烦人,因此,我正在尝试提出一种更好的解决方案。
此刻,我正在使用MouseDoubleClicked事件处理程序。有人遇到过这个问题吗?
答案 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样式,否则将丢失包含至少行选择的背景,并且似乎无法选择。