在两个列表框中平滑滚动

时间:2012-08-12 18:30:22

标签: c# windows-phone-7 listbox scrollview smooth-scrolling

我有一个带有数据的两个堆叠列表框(第一个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时,有没有办法启用它?

1 个答案:

答案 0 :(得分:2)

为什么您不想只使用一个ListBox并为不同的数据类型设置不同的模板?您不需要做任何额外的工作来提高滚动性能。 查看这篇MSDN文章Data Templating Overview,你会发现其中一个最新的样本使用了DataTemplateSelector而SL没有这个类,但你可以找到很多博客文章,试图在SL / WP中解决这个问题:{ {3}}。因此,如果您将使用此方法 - 您只需要确保将绑定到您的集合,并且您的集合将具有正确的元素顺序:来自第一个ListBox的10个元素,来自第二个ListBox的其他元素。