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



我正在开发一个WPF C#应用程序,该应用程序包含一个带有滚动条的DataGridView。我编写了代码,这样每当选择一行时,就会打开记录。然而,我注意到,当点击滚动条时,我的应用程序也将其注册为点击事件,并且每当用户双击滚动条时都会打开同一记录的重复副本。

为了防止这种情况,我编写了代码,这样,如果用户打开同一条记录,它就不会打开。用户必须单击另一条记录,以便在关闭记录后打开同一条记录。这个问题对用户来说有点烦人,所以我正在努力想出一个更好的解决方案。

目前我正在使用鼠标双击事件处理程序。以前有人遇到过这个问题吗?

听起来你需要在行上双击鼠标,而不是数据网格本身。

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

请注意,如果您使用替代主题,则必须将"BasedOn"属性更改为主题提供的任何DataGridRow样式,否则您将丢失行样式,该行样式至少包括行选择的背景,并且可能看起来是不可选择的。

最新更新