2012-02-19 5 views
0

Я разрабатываю приложение для телефона Windows, в котором ссылка rss указана в приложении. Результат новостей отображается правильно, но изображения не отображаются. Это, как я отображается изображение в XAMLИзображение не видно в RSS-канале

<ListBox Name="feedListBox" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" Height="528" HorizontalAlignment="Left" Margin="9,97,0,0" VerticalAlignment="Top" Width="439" SelectionChanged="feedListBox_SelectionChanged"> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <StackPanel Orientation="Horizontal" Height="132"> 
          <Image Name="img" Source="{Binding ImageUri}" Height="73" Width="73" VerticalAlignment="Top" Margin="0,10,8,0" /> 
          <StackPanel VerticalAlignment="Top"> 
          <TextBlock TextDecorations="Underline" FontSize="24" Name="feedTitle" TextWrapping="Wrap" Margin="12,0,0,0" HorizontalAlignment="Left" Foreground="{StaticResource PhoneAccentBrush}" Text="{Binding Title.Text, Converter={StaticResource RssTextTrimmer}}" /> 
          <TextBlock Name="feedSummary" TextWrapping="Wrap" Margin="12,0,0,0" Text="{Binding Summary.Text, Converter={StaticResource RssTextTrimmer}}" /> 
          <TextBlock Name="feedPubDate" Foreground="{StaticResource PhoneSubtleBrush}" Margin="12,0,0,10" Text="{Binding PublishDate.DateTime}" /> 
         </StackPanel> 
          </StackPanel> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 

и в .cs это, как я получить

img = feed.ImageUrl; 
feedListBox.ItemsSource = feed.Items; 

как я получить изображения в мое приложение?

Thanx

ответ

1

Вы не можете непосредственно сделать img = image, как это шаблон для каждого элемента списка, а не определенное изображение на экране. Попробуйте использовать конвертер для преобразования Url из вашего фида в объект Uri:

public class UrlToUriConverter: IValueConverter 
    { 

     public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
     { 
      return new Uri(value.toString(), UriKind.Absolute); 
     } 

     public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
     { 
      return null; 
     } 
    } 

Edit: Подробнее:

  1. Создать преобразователь UrlToUriConverter, как описано выше.

  2. Вставьте этот конвертер в вашу страницу ресурсов:

    <phone:PhoneApplicationPage.Resources> 
        <src:UrlToUriConverter x:Key="UrlToUri"/> </phone:PhoneApplicationPage.Resources> 
    

src это пространство имен преобразователя, и он должен быть добавлен в <phone:PhoneApplicationPage тег, например. xmlns:src="clr-namespace:TestProject"

  1. Используйте что конвертер в Image.Source связывания:

     <Image Source="{Binding LineOne, Converter={StaticResource UrlToUri}}" > 
    
+0

так как теперь я должен идти об этом? – SKB

+0

Есть хороший пример на странице свойств Binding.Converter MSDN: http://msdn.microsoft.com/en-us/library/system.windows.data.binding.converter.aspx – MarcinJuraszek

+0

Я добавил больше информации к моему ответу. Надеюсь, это будет полезно. – MarcinJuraszek

 Смежные вопросы

  • Нет связанных вопросов^_^