У меня огромные проблемы с этим, и я надеюсь, что кто-то возьмет меня под свое крыло и поможет мне пройти через это.
Моя проблема заключается в том, что я не знаю, как динамически добавлять дополнительные элементы в список после получения первого набора из 15 через мой собственный RSS-канал, привязанный к моему веб-сайту, в мой Windows Phone 7.
Я подумываю ограничить свой RSS-канал до 15 элементов, чтобы те, кто подпишется, не были завалены тысячами элементов в ленте.
Однако это создает проблему при кодировании для моего телефона. Если я ограничу свой RSS-канал 15 самыми последними элементами, как я могу получить предыдущие за пределами этих 15, и другая проблема, как их загрузить?
У меня уже есть классы RSS-каналов, и я могу успешно загрузить их в свой телефон. Это не проблема. Опять же, как только я загружу свои первоначальные 15 элементов в Windows Phone 7, как я могу загрузить дополнительные наборы из 15, если я сохраняю свои элементы RSS на своем веб-сайте xml до 15 элементов за раз (опять же, чтобы я не не иметь RSS-канал с тысячами элементов каждый раз, когда человек загружает его)
Любая помощь приветствуется.
СС страницы:
private void Button_Click(object sender, RoutedEventArgs e)
{
RssService.GetRssItems(
WindowsPhoneBlogPosts,
(items) => { listbox.ItemsSource = items; },
(exception) => { MessageBox.Show(exception.Message); },
null
);
}
XAML-код страницы:
<ListBox x:Name="listbox" Grid.Row="1" SelectionChanged="listbox_SelectionChanged" Style="{StaticResource ListBoxStyle1}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="60" />
</Grid.RowDefinitions>
<Image x:Name="aaa" Grid.Row="0" HorizontalAlignment="Left" Height="60" Width="60" Source="{Binding Url}"/>
<TextBlock Grid.Row="1" Text="{Binding PublishedDate}" Foreground="Green" />
<TextBlock Grid.Row="2" TextWrapping="Wrap" Text="{Binding PlainSummary}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Та же страница Xaml:
<phone:PhoneApplicationPage.Resources>
<Style x:Key="ListBoxStyle1" TargetType="ListBox">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBox">
<ScrollViewer x:Name="ScrollViewer" Background="{TemplateBinding Background}">
<StackPanel>
<ItemsPresenter/>
<Button x:Name="thebutton" Content="Button" Visibility="{Binding LoadMore}"/>
</StackPanel>
</ScrollViewer>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</phone:PhoneApplicationPage.Resources>