gpt4 book ai didi

c# - 如何使用 CanContentScroll tr​​ue 获取 ItemsControl 的开发独立像素中的 ScrollViewer 的 VerticalOffset

转载 作者:太空狗 更新时间:2023-10-29 21:40:53 27 4
gpt4 key购买 nike

我有一个列表框,其中 CanContentScroll 为真,但其他为假。

我正在编写一个行为,需要从中提取滚动查看器并计算设备独立像素中的垂直滚动偏移量。

由于 CanContentScroll 可以是 true 或 false,我有时会得到逻辑项目单位,而其他时候是物理像素。

所以我需要计算像素值以防 CanContentScroll 为真。

例如:当列表框滚动三个项目时,VerticalOffset 将给出 3。如何将这个 3 转换为项目使用的垂直像素(其大小可能会有所不同)?

谢谢

最佳答案

如果不有效地设置 CanContentScroll="False",您将无法计算以像素为单位的值。

要知道以像素为单位的大小,您需要创建所有项目的容器并计算所有容器的高度。为此,您需要先生成所有容器。这意味着您有效地失去了虚拟化并且有效地设置了 CanContentScroll="False"。在那种情况下,为什么首先使用 CanContentScroll="True"?

Nikolay 的代码试图做的是承担自己做 CanContentScroll="False"所做的事情的负担,而不给你平滑的滚动,否则你会获得。

更重要的是,如果您始终知道 CanContentScroll="true",那么物理偏移量能解决什么逻辑偏移量无法解决的问题?

关于c# - 如何使用 CanContentScroll tr​​ue 获取 ItemsControl 的开发独立像素中的 ScrollViewer 的 VerticalOffset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9668068/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com