2013-01-25 122 views
1

我正在使用rss reader sample和listPicker。我想要做的是将rss url从listPicker项传递给webClient.DownloadStringAsync。Windows Phone ListPicker传递SelectedItem

**MainPage.xaml** 
[...] 
<toolkit:ListPicker.ItemTemplate> 
       <DataTemplate> 
        <StackPanel Orientation="Horizontal"> 
         <TextBlock Text="{Binding Nazwa}" 
            Margin="12 0 0 0" 
            VerticalAlignment="Center"/> 
         <Image Source="/Repertuar;component/Images/open.png" FlowDirection="RightToLeft" /> 
        </StackPanel> 
       </DataTemplate> 
      </toolkit:ListPicker.ItemTemplate> 
      <toolkit:ListPicker.FullModeItemTemplate> 
       <DataTemplate> 
        <StackPanel Margin="16 21 0 20"> 
         <TextBlock Text="{Binding Nazwa}" 
            FontSize="43"/> 
        </StackPanel> 
       </DataTemplate> 
      </toolkit:ListPicker.FullModeItemTemplate> 
[...] 

**MainPage.xaml.cs** 
[...] 
public class Miasto 
{ 
    public string Nazwa 
    { 
     get; 
     set; 
    } 

    public string Adres 
    { 
     get; 
     set; 
    } 
} 

public partial class MainPage : PhoneApplicationPage 
{ 
    // Constructor 
    public MainPage() 
    { 
     InitializeComponent(); 
     IEnumerable<Miasto> source = this.GetDataSource(); 
     this.listPicker.ItemsSource = source; 
    } 
    private IEnumerable<Miasto> GetDataSource() 
    { 
     List<Miasto> source = new List<Miasto>(); 
     source.Add(new Miasto() { Nazwa = "Bydgoszcz", Adres = "http://film.wp.pl/rss.xml?id=10" }); 
     source.Add(new Miasto() { Nazwa = "Gdańsk", Adres = "http://film.wp.pl/rss.xml?id=27" }); 
     return source; 
    } 
[...] 
    webClient.DownloadStringAsync(new System.Uri("http://film.wp.pl/rss.xml?id=27")); 
[...] 

我不知道如何解决这个问题。这个问题有没有简单的解决方案?

回答

0

您可以将ID传递给选择更改事件上的网址。您是否尝试预加载列表项目上的信息?

+0

我完全不熟悉这个东西,恐怕我愚蠢地实施你的解决方案的想法。通过预加载信息,你的意思是什么? –

+0

当您点击列表选择器项目时是否尝试加载信息?如果是这样,你可以在private void listPicker_SelectionChanged(object sender,SelectionChangedEventArgs e) –

相关问题