2012-06-26 42 views
0

我注意到我的DataGrid在WPF中,当我设置SelectionMode="Extended"时,水平滚动变得非常斑驳/奇怪。某些“全选”类型的按钮在网格的左上角显示/消失得很快,并且在滚动时,标题栏会跳转来回跳转。滚动条本身也在滚动时来回跳动。滚动确实有点帮助,但行为,而滚动实际上看起来很怪异。wpf datagrid水平滚动错误?

我注意到,如果我设置SelectionMode="Single"然后问题消失,但我想使用SelectionMode="Extended"。这是我的数据网格的代码:

<DataGrid x:Name="dataGrid" SelectionMode="Extended" SelectionUnit="Cell" 
    HeadersVisibility="Row,Column" RowHeaderWidth="0" 
    ItemsSource="{Binding ElementName=dataPager, Path=PageView}" 
    CanUserReorderColumns="False" 
    CanUserAddRows="False" CanUserDeleteRows="False" CanUserResizeRows="False"> 

任何人都知道如何解决这个问题?提前致谢!

+1

无法重现您的问题。当DataGrid中的选择更改时,你正在做些什么(在代码/ VM中)?或者其他你没有提到的东西。 – akjoshi

+0

对代码中的数据网格不做任何事情,只是使用viewmodel中的数据源。如果你无法重现这个问题,它必须与datagrid/datagridcolumnheader的样式有关,尽管我没有在那里看到任何太奇怪的东西...... – JPProgrammer

回答

4

所以我想出了一个解决我的问题。我认为这是'全选'按钮导致它在滚动过程中出现/消失的方式出现问题,因此我研究了使按钮出现的方式以及如何使其不出现。原来,问题是与行头,所以我改变了:

HeadersVisibility="Row,Column" 

到:

HeadersVisibility="Column" 

在头知名度“全选”按钮不再出现取出排部后,和滚动按照它的设想发生。仍然不完全确定为什么'全选'按钮出现/消失的方式,虽然...

+0

这只是救了我谢谢。对于任何有类似问题的人,我发现'FrozenColumnsCount'似乎也是部分原因。看到我的问题在这里:http://stackoverflow.com/questions/17466674/wpf-datagrid-cant-select-a-range-horizo​​ntally –