Как предотвратить автопрокрутку в DataGrid - PullRequest
0 голосов
/ 16 июня 2011

У меня есть сетка данных, определенная в 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">

Затем я обрабатываю элемент, выбранный строкой, в которой произошел двойной щелчок.

Что происходит, когда вертикальная полоса прокруткивключен, и под последней строкой сетки еще не отображаются элементы, двойной щелчок заставляет последнюю строку прокручиваться вверх, чтобы она стала следующей за последней строкой.Значение выбранного элемента в методе двойного щелчка - это строка, которая была скрыта и прокручена вверх.

Как можно предотвратить прокрутку сетки данных вверх, если в последней отображаемой строке дважды щелкнуть мышью?

Ответы [ 2 ]

1 голос
/ 16 июня 2011

Я смог обойти это, вместо этого используя PreviewMouseDoubleClick.При этом мне удалось определить правильную строку до того, как произошла прокрутка.

0 голосов
/ 12 января 2019

Я достиг того же, чего вы хотели с помощью следующего фрагмента кода. Установить атрибут DataGrid в Xaml ScrollViewer.CanContentScroll="False"

    <DataGrid ScrollViewer.CanContentScroll="False" ... />
...