【问题标题】:WPF datagrid BringIntoView behaviourWPF 数据网格 BringIntoView 行为
【发布时间】:2018-12-18 09:56:10
【问题描述】:

在 WPF 数据网格中,当用户单击网格底部的部分可见行时,该行将显示在视图中。网格将滚动到足以让点击的行完全可见,这样顶行仍然完全可见,这意味着在用户点击的底部会有另一个部分可见的行。

使用此行为,如果用户双击底部部分可见的行,网格将向上移动两行,并且最初选择的行下方的行将被选中。

可以通过在数据网格上设置ScrollViewer.CanContentScroll="False" 来更改此行为。使用此设置,部分可见的行将进入视图,并将成为最底部可见的行,而最顶部的行将部分可见。

但是,这会禁用网格上的行虚拟化,这是我不想要的。有没有其他方法可以在不禁用行虚拟化的情况下更改 BringIntoView 功能?

【问题讨论】:

    标签: wpf datagrid scrollviewer


    【解决方案1】:

    DataGrid 上的附加属性VirtualizingPanel.ScrollUnit 更改为Pixel 应该会提供您需要的行为。

    <DataGrid ItemsSource="{Binding Data}" VirtualizingPanel.ScrollUnit="Pixel">
        ...
    </DataGrid>
    

    【讨论】:

      猜你喜欢
      • 2013-11-18
      • 2017-02-07
      • 2016-05-19
      • 1970-01-01
      • 2023-03-21
      • 2019-04-17
      • 2011-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多