如何在滚动时阻止WPF数据网格自动选择行

时间:2014-09-30 06:48:22

标签: wpf datagrid wpfdatagrid

下面是我的数据网格定义:

<DataGrid
    Name="ODataGrid"
    AutoGenerateColumns="False"
    Grid.Row="0"
    Grid.Column="0"
    CanUserAddRows="False"
    AlternationCount="2"
    HeadersVisibility="All"
    IsReadOnly="True"                               
    SelectionUnit="FullRow"
    HorizontalAlignment="Stretch"
    VerticalAlignment="Stretch"
    Background="#EBF0F0"
    AlternatingRowBackground="#E9E8EF"
    HorizontalGridLinesBrush="#7F7F7F"
    VerticalGridLinesBrush="#7F7F7F"
    SelectedItem="{Binding vmItem}"
    CellStyle="{StaticResource ODataGridCellStyle}"
    ItemsSource="{Binding vmResults}"
    Tag="{Binding DataContext, ElementName=BaseGrid}">

以下是我为获取错误而采取的步骤。

  1. 默认选择第一行。
  2. 我在数据网格中选择了另一行。
  3. 我点击其中一个列标题进行排序。
  4. 我通过拖动垂直滚动条来滚动。
  5. 最初的第一行以某种方式自动选择。
  6. 现在,选择了2行。
  7. 为什么会这样?无论如何要阻止自动选择滚动?感谢。

2 个答案:

答案 0 :(得分:0)

EnableRowVirtualization="False"

在datagrid属性中。

答案 1 :(得分:-2)

在datagrid中添加此属性

VirtualizingStackPanel.IsVirtualizing="False"