如何防止DataGrid中的自动滚动
本文关键字:滚动 何防止 DataGrid | 更新日期: 2023-09-27 17:59:28
我在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">
然后,我处理双击发生的行所选的项目。
然而,当垂直滚动条处于打开状态,并且网格最后一行下方有项目尚未显示时,双击会导致最后一行向上滚动一行,使其成为倒数第二行。双击方法中所选项目的值是被隐藏并向上滚动的行。
双击显示的最后一行时,如何防止数据网格向上滚动?
我可以通过使用PreviewMouseDoubleClick来解决这个问题。在这样做的时候,我能够在滚动发生之前识别出正确的行。
我已经实现了同样的目标,这是您在下面的代码片段中想要的。在Xaml ScrollViewer.CanContentScroll="False"
中设置DataGrid属性
<DataGrid ScrollViewer.CanContentScroll="False" ... />