C # WPF DataGrid вертикальная прокрутка - PullRequest
4 голосов
/ 20 июня 2011

Я вижу следующее поведение с WPF Datagrid.Если имеется больше элементов, чем высота области просмотра, доступна вертикальная прокрутка.Когда я щелкаю по последней строке в представлении, происходит автоматическая прокрутка, когда появляется строка, которая была чуть ниже последней.

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

Я бы хотел отключить автоматическую прокрутку, но не могу понять, как это сделать.

Ответы [ 2 ]

3 голосов
/ 21 июня 2011

Я нашел решение здесь: WPF DataGrid: как остановить автоматическую прокрутку при нажатии на ячейку?

Я изменил стиль DataGrid

 <Style x:Key="SingleClickEditing"  TargetType="{x:Type toolkit:DataGridCell}">
       <EventSetter Event="CheckBox.Checked" Handler="OnChecked"/>
       <EventSetter Event="CheckBox.Unchecked" Handler="OnChecked"/>
       <EventSetter Event="Control.RequestBringIntoView" Handler="DataGrid_Documents_RequestBringIntoView"  />
 </Style>


private void DataGrid_Documents_RequestBringIntoView(object sender,    RequestBringIntoViewEventArgs e)
{
    e.Handled = true;
}
0 голосов
/ 21 июня 2011

В Datagrid есть свойство, которое вы должны установить, чтобы определить, видимы ли вертикальные, горизонтальные, оба или нет (в отношении полос прокрутки).

...