gpt4 book ai didi

c# - 调整包含许多项目的 ScrollViewer 的大小非常慢

转载 作者:行者123 更新时间:2023-11-30 17:59:08 26 4
gpt4 key购买 nike

我有一个 ScrollViewer,其中包含一个 StackPanel,其中包含 1000 多个项目,每个项目都包含一堆其他项目。它在空闲时或当我实际滚动它时表现得像个冠军。但是,当我调整它的大小时或任何导致它调整大小时(例如包含的顶级窗口),它变得非常慢,卡住,并且需要大约 30 秒才能解冻和调整大小。

我发现在调整大小之前将 VerticalScrollBarVisibility 设置为 ScrollBarVisibility.HiddenScrollBarVisibility.Disabled 可以使其非常平滑。但是,启用和禁用 ScrollBarVisibility 每次大约需要 5 秒,虽然这比等待 30 秒来调整大小要好,但等待时间仍然太长。

在调整包含许多项目的 ScrollPanel 中的 StackPanel 大小时,我可以做些什么来帮助提高性能?

最佳答案

您可能会考虑切换到列表框(我知道,这听起来很奇怪,但请听我说完)。列表框使用虚拟化堆栈面板——它管理内存中实际有多少控件,并在您滚动时创建它们。

您可以使用数据模板使每个列表框项目看起来像您想要的任何东西。

(注意,这都是假设您正在显示某种重复数据)。

关于c# - 调整包含许多项目的 ScrollViewer 的大小非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11550261/

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