我在这个问题上用了 3 天,所以我在这里问。
我有一个包含一些收据项目的列表框。当我添加前几个项目时,一切正常:
但是一旦将一个项目添加到“溢出”滚动查看器的列表框中,随机边距突然出现,我不知道如何摆脱它:
我尝试了不同版本的 .NET 框架,但在 4.5 中没有发生这种情况,但不幸的是我必须使用 .NET 3.5
以下是具有相同行为的“沙盒”应用程序的链接:link
有人有什么想法吗?
以下是要求:
最佳答案
您已设置 CanContentScroll="True"
在 ScrollContentPresenter
这意味着您希望逐项滚动。如果设置 CanContentScroll="False"
你不会在底部看到任何空白空间。现在的原因是 listBox 将使用逐像素滚动。
通过项目滚动,列表框保留一些空间以确保下一个项目完美地出现在视口(viewport)中。因此,您会在底部看到空白空间。
但是,将其设置为 false 将禁用 UI 虚拟化。因此,这是空白空间和虚拟化之间的一种权衡。
话虽如此,您提到它在 .Net4.5 中运行良好,但事实并非如此。我也在你的样本中尝试了 4.5 并且仍然是相同的结果。
关于wpf - 如何从滚动查看器中的最后一项中删除额外的边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33637884/