C#WPF DataGrid垂直滚动

时间:2011-06-20 18:47:20

标签: c# wpf xaml datagrid scroll

我在WPF Datagrid中看到以下行为。 当有更多项目然后是视图区域的高度时,可以使用垂直滚动。 当我单击视图中的最后一行时,会自动滚动,直到最后一行的行进入视图。

datagrid的第一列是一个复选框。当用户点击最后一行时,我没有收到复选框点击的事件。所有其他行中的复选框都可以正常工作。

我想禁用自动滚动,但无法确定如何操作。

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

2 个答案:

答案 0 :(得分:3)

我在这里找到了解决方案: WPF DataGrid: how do I stop auto scrolling when a cell is clicked?

我改变了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;
}

答案 1 :(得分:0)

Datagrid上有一个属性,您可以设置该属性来确定Vertical,Horizo​​ntal,Both或None(关于滚动条)是否可见。