0

我在 XAML 中定义了一个数据网格,如下所示:

<toolkit:DataGrid Margin="10,116,62,34" Name="WADataGrid" RowBackground="LightYellow"   AlternatingRowBackground="White"
                          BorderBrush="Gray" BorderThickness="2" IsReadOnly="True"     CanUserReorderColumns="False" CanUserResizeColumns="True" 
                          CanUserSortColumns = "True" SelectionMode="Extended" MouseDoubleClick="DataGrid_MouseDoubleClick" 
                          AutoGenerateColumns="False" Height="400" Canvas.Left="0" Canvas.Top="-76" Width="731">

然后我处理由发生双击的行选择的项目。

但是,当垂直滚动条打开并且网格的最后一行下方的项目尚未显示时,会发生什么情况,双击会导致最后一行向上滚动,使其成为最后一行的下一个。双击方法中选中项的值是被隐藏并向上滚动的行。

双击显示的最后一行时,如何防止数据网格向上滚动?

4

2 回答 2

1

我可以通过使用 PreviewMouseDoubleClick 来解决这个问题。这样做时,我能够在滚动发生之前识别出正确的行。

于 2011-06-16T14:53:40.443 回答
0

我已经实现了相同的目标,您可以使用以下代码片段实现这一目标。在 Xaml 中设置 DataGrid 属性ScrollViewer.CanContentScroll="False"

    <DataGrid ScrollViewer.CanContentScroll="False" ... />
于 2019-01-12T08:03:23.393 回答