LongListSelector ItemsPresenter不显示项目

时间:2014-09-04 15:57:53

标签: c# wpf windows-phone-8 longlistselector

我正在开发WP8应用程序。

我有一个LongListSelector,显示从Web服务获取的项目。 当用户到达列表的末尾时,必须有一个"加载更多"底部的按钮可以访问Web服务并获取更多项目。

列表中有这样的样式来显示按钮:

<Style x:Key="DenouncesDistanceList" TargetType="phone:LongListSelector">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="phone:LongListSelector">
                    <ScrollViewer x:Name="ScrollViewer">
                        <StackPanel>
                            <ItemsPresenter />
                            <Button x:Name="LoadMoreToList" Click="LoadMoreToList_Click" >Load moremás</Button>
                        </StackPanel>
                    </ScrollViewer>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

当像这样运行应用程序时,手机会显示按钮,但从不显示项目。 如果我取出LongListSelector声明中的style属性,则会显示项目,但是在重复项目的永不停止的滚动上。

这是LongListSelector的定义(有和没有style属性):

<phone:LongListSelector x:Name="LisByDistanceListBox" ItemTemplate="{StaticResource ReportListDataTemplate}" Margin="0,0,-24,0" Background="{x:Null}" ItemsSource="{Binding ReportsByDistance}" Width="480" Height="476" VerticalAlignment="Top" Style="{StaticResource DenouncesDistanceList}" />

<phone:LongListSelector x:Name="LisByDistanceListBox" ItemTemplate="{StaticResource ReportListDataTemplate}" Margin="0,0,-24,0" Background="{x:Null}" ItemsSource="{Binding ReportsByDistance}" Width="480" Height="476" VerticalAlignment="Top" />

在使用LongListSelector之前,我使用了具有相同Style和相同ItemTemplate的ListBox,一切运行良好,直到加载了太多项目,迫使应用程序引发OutOfMemoryException。

任何帮助?

1 个答案:

答案 0 :(得分:0)

没关系,使用像这个答案所述的LongListSelector.ListFooter解决了这个问题: https://stackoverflow.com/a/13432573/2686243