VirtualizingStackPanel无法正确处理折叠的项

15 浏览
0 Comments

VirtualizingStackPanel无法正确处理折叠的项

我在WPF中有一个用于显示字段列表的ListView,根据属性值,一些字段可以在运行时折叠起来。除了在运行时折叠的ListViewItem之外,它的工作正常,但是ListView不会折叠为ListViewItem保留的空间。

我能够在Snoop中看到额外的ListViewItems(可见性为Collapsed),ListView也将项目向上移动,但它不会调整高度以删除空白空间!

我可以肯定地说,这是由于VirtualizedStackPanel导致的,将ItemsPanel更改为StackPanel可以解决此问题。这是相关的ListView XAML代码:

ListView中的VirtualizingStackPanel是否存在bug?其他人是否遇到类似的问题?是否有解决方法?

更新:

在connect上向微软报告了这个bug - https://connect.microsoft.com/VisualStudio/feedback/details/734113/virtualizingstackpanel-not-handling-collapsed-items-correctly

0
0 Comments

问题原因:VirtualizingStackPanel在处理被折叠的项时出现了错误。

解决方法:将隐藏的项的高度设置为零而不是折叠它们。

虽然将高度设置为零解决了问题,但仍然对为什么将可见性设置为折叠不起作用感到好奇。

0