2012-02-19 52 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; 

我如何得到的图像在我的应用程序?

感谢名单

回答

1

你不能直接做img = image,因为它是每个列表项的模板,而不是屏幕上的某个图像。尝试使用转换器从您的饲料转化网址为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; 
     } 
    } 

编辑:更多信息:

  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 2012-02-19 15:52:59

+0

MSDN Binding.Converter属性页面上有一个很好的例子:http://msdn.microsoft.com/en-us/library/system.windows.data.binding.converter.aspx – MarcinJuraszek 2012-02-19 15:54:13

+0

我添加soome更多信息给我的答案。希望它会有所帮助。 – MarcinJuraszek 2012-02-19 16:19:56