2013-09-01 10 views
-1

Все мои данные фото на сервере Пример url: http://abcd.com/images/, и я переименовал весь файл фотографий в свой пример id альбома 1.jpg, 2.jpg , и я хочу отображать эти фотографии с использованием альбумида в сетке видWindows Phone Display image

class AlbumData 
{ 
    public Int32 AlbumId { get; set; } 
    public String Name { get; set; } 
    public String Language { get; set; } 
    public String Actors { get; set; } 
    public String Director { get; set; } 
    public String MusicDirector { get; set; } 
    public String Year { get; set; } 
} 

private void Search_Click(object sender, RoutedEventArgs e) 
    { 
     WebClient webclient = new WebClient(); 
     webclient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webclient_DownloadStringCompleted); 
     webclient.DownloadStringAsync(new Uri("http://albums.abcd.com/v1/Albums/English/1"));//--getting data using xml 

    } 
    void webclient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
    { 
     if (e.Error != null) 
     { 
      MessageBox.Show("error"); 

     } 


     XElement XmlTweet = XElement.Parse(e.Result); 
     listBox1.ItemsSource = from tweet in XmlTweet.Descendants("Album") 
           select new AlbumData() 
           { 
            Name = tweet.Element("Name").Value, 
            //--how to display image---// 
           }; 
    } 

Пожалуйста, помогите мне, например

  <DataTemplate> 
       <StackPanel> 
        <Image Source="{Binding ImageSource}" Height="100" Width="100" HorizontalAlignment="Center" VerticalAlignment="Center" /> 
        <TextBlock Text="{Binding Name}" Foreground="#FFC8AB14" FontSize="15" Width="120" TextAlignment="Center" TextWrapping="Wrap" /> 
        <!--<TextBlock Text="{Binding Message}" TextWrapping="Wrap" FontSize="8" Width="100" TextAlignment="Center" />--> 
        <!--<TextBlock Text="{Binding MusicDirector}" TextWrapping="Wrap" FontSize="8" Width="100" TextAlignment="Center" />--> 
        <!--<TextBlock Text="{Binding UserName}" Style="{StaticResource PhoneTextSubtleStyle}" Width="100" TextAlignment="Center"/>--> 
       </StackPanel> 
      </DataTemplate> 
+0

Не могли бы вы написать функциональный код и XAML и указать вашу проблему? – Matt

+0

Я обновил функциональный код – vishu

ответ

1

Предполагая ELEMENTNAME ваших изображений ImageUri, вы должны изменить ItemsSource на:

listBox1.ItemsSource = 
    from tweet in XmlTweet.Descendants("Album") 
    select new AlbumData() 
    { 
     Name = tweet.Element("Name").Value, 
     ImageSource = new BitmapImage(new Uri(tweet.Element("ImageUri"), UriKind.Relative)); 
    }; 

AlbumData должен быть продлен

public BitmapImage ImageSource { get; set; } 
+0

Фактические данные Xml, в которых я получаю только что состоящий из AlbumId, Name, Actor, Director, MusicDirectoryear wat ur, говорящий о создании нового Uri ("http://abcd.com/images/1.jpg")); ImageSource = new BitmapImage (новый Uri (tweet.Element («ImageUri»), UriKind.Relative)); но у меня есть несколько изображений для загрузки – vishu

+0

Они принадлежат к альбому? Если XML не содержит изображения, откуда вы знаете, какое изображение вы должны загрузить? – Matt