Я разрабатываю приложение WP8.
У меня есть LongListSelector, который показывает элементы, полученные из веб-службы. Когда пользователь достигнет конца списка, в нижней части должна быть кнопка "Загрузить больше", чтобы открыть веб-службу и получить больше предметов.
В списке есть такой стиль, чтобы показать кнопку:
<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, элементы будут показаны, но в бесконечном прокрутке, повторяющем элементы.
Это определения 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, я использовал ListBox с тем же стилем и тем же ItemTemplate, и все работало хорошо, пока не загрузилось слишком много элементов, заставляя приложение повысить OutOfMemoryException.
Любая помощь?
Ничего, решив это, используя LongListSelector.ListFooter, как указано в этом ответе: qaru.site/questions/891369/...