我有一个带有数据的两个堆叠列表框(第一个ListBox包含< 10个元素,第二个可能包含多达5000个元素),第一个列表框的元素必须位于顶部:
<ScrollViewer >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Listbox IsScrollable="False"/>
<Listbox Grid.Row="1" IsScrollable="False"/>
</ScrollViewer >
如何改善滚动性能?
我知道当我打电话给#34时,我已经失去了虚拟化面板。 ScrollViewer.SetVerticalScrollBarVisibility(发件人为ListBox,ScrollBarVisibility.Disabled);&#34;
但是当我需要两个ListBox时,有没有办法启用它?
答案 0 :(得分:2)
为什么您不想只使用一个ListBox并为不同的数据类型设置不同的模板?您不需要做任何额外的工作来提高滚动性能。 查看这篇MSDN文章Data Templating Overview,你会发现其中一个最新的样本使用了DataTemplateSelector而SL没有这个类,但你可以找到很多博客文章,试图在SL / WP中解决这个问题:{ {3}}。因此,如果您将使用此方法 - 您只需要确保将绑定到您的集合,并且您的集合将具有正确的元素顺序:来自第一个ListBox的10个元素,来自第二个ListBox的其他元素。