【问题标题】:Smooth scrolling within two listbox在两个列表框内平滑滚动
【发布时间】:2012-08-12 18:30:21
【问题描述】:

我有一个带有数据的两个堆叠列表框(第一个列表框包含

 <ScrollViewer >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
 <RowDefinition Height="Auto"/>
 </Grid.RowDefinitions>
<Listbox IsScrollable="False"/>
<Listbox Grid.Row="1" IsScrollable="False"/>
 </ScrollViewer >

如何提高滚动性能?

我知道当我调用“ScrollViewer.SetVerticalScrollBarVisibility(sender as ListBox, ScrollBarVisibility.Disabled);”时我丢失了 virtualizingPanel

但是当我需要两个 ListBox 时,有什么方法可以启用它?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 抱歉,我需要第一个列表框中的项目位于顶部。如何做到这一点?
    • 什么意思?它们不应该滚动吗?或者他们应该总是在列表的顶部?只需在您的收藏中以正确的方式对它们进行排序即可。
    • 我有一个跳转列表,但你是对的。我只是将第一个 litbox 的项目设置为非字符组并对其进行排序。
    猜你喜欢
    • 1970-01-01
    • 2021-10-17
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多