在LongListSelector中滚动问题,其中包含可变高度的项目

时间:2013-09-17 20:24:37

标签: xaml windows-phone-8 scroll virtualization itemscontrol

我有LongListSelector,其中每个项目可以包含可变数量的图像,因此可以具有不同的高度。这是我的XAML:

<phone:LongListSelector x:Name="Views" ItemsSource="{Binding}">
    <phone:LongListSelector.ItemTemplate>
        <DataTemplate>
            <ItemsControl ItemsSource="{Binding Imgs}">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <Border Background="#44AAAAAA" Margin="10,0,10,10">
                                <Image Source="{Binding photo.Source}" Stretch="UniformToFill"
                                    Height="{Binding Converter={StaticResource ScaleHeight}, Path=photo}" />
                            </Border>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
        </DataTemplate>
    </phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>

问题是当我遇到一个长项时滚动这样的LongListSelector时,滚动位置突然向前/向后跳跃几个项目(取决于滚动方向)。

我怀疑这与虚拟化有关,但我不知道如何解决这个问题。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您应该使用带有空标题的LongListSelector的Grouped版本,这样您就不会有具有不同高度的项目。