【问题标题】:wpf datagrid horizontal scrolling bug?wpf datagrid 水平滚动错误?
【发布时间】:2012-06-27 09:35:17
【问题描述】:

我注意到我在 WPF 中使用我的DataGrid 时,当我设置SelectionMode="Extended" 时,水平滚动变得非常不完整/奇怪。某种“全选”类型的按钮在网格的左上角迅速出现/消失,并且标题和列在滚动时来回跳跃。滚动条本身也在滚动时来回跳跃。滚动确实有点作用,但是 while 滚动的行为看起来确实很麻烦。

我注意到如果我设置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">

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

【问题讨论】:

  • 无法重现您的问题。当 DataGrid 中的选择发生变化时,您是否在做某事(在代码/VM 中)?或者你没有提到的任何其他事情。
  • 不对代码中的数据网格做任何事情,只是在视图模型中处理数据源。如果您无法重现该问题,则它必须与 datagrid/datagridcolumnheader 的样式有关,尽管我在那里没有看到任何奇怪的东西......

标签: wpf scrollbar wpfdatagrid


【解决方案1】:

所以我想出了解决问题的方法。我认为是“全选”按钮导致它在滚动过程中出现/消失的方式出现问题,所以我研究了是什么使该按钮出现以及如何使其不出现。原来问题出在行标题上,所以我改变了:

HeadersVisibility="Row,Column"

到:

HeadersVisibility="Column"

在标题可见性中删除行部分后,“全选”按钮停止出现,并且按预期进行滚动。仍然不完全确定为什么“全选”按钮会以这种方式出现/消失......

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2016-04-12
  • 2014-12-08
  • 1970-01-01
  • 1970-01-01
  • 2011-01-19
相关资源
最近更新 更多