C#/ Wpf - 如何在调整内容大小时更新滚动条值?

时间:2015-12-24 10:44:27

标签: c# wpf resize scrollbar

我使用RadGridView(来自telerik库的GridView)并调整行高度以模拟缩放。

问题是缩放后滚动条值会出错。我收到值ExtentHeight(我的RadGridView的总虚拟高度)和VerticalOffset(我的位置),两者都是假的。

Example

我知道每个单元格的个别高度,我可以手动计算ExtentHeight,但不能VerticalOffset。令人担忧的是,我已经将我的网格与滚动条同步,该滚动条提供了RadGridView的渲染,并且无法与这些错误值同步。唯一的解决方案是滚动所有RadGridView,滚动条将使用其子级的新高度进行更新。 您可以在此视频中看到一个示例,我在缩放后滚动,但它无法正常工作。然后我滚动所有网格(使用向下箭头),然后它工作。 https://youtu.be/QqvTnYK5A6o

那么我的滚动条如何自动更新其内容的值? 方法scrollBar.UpdateLayout();不幸地不起作用。

谢谢!

1 个答案:

答案 0 :(得分:0)

解决方案是将RadGridView的属性EnableRowVirtualization设置为false,但遗憾的是它会导致严重的性能问题。