图像在RSS Feed中不可见

时间:2012-02-19 15:34:12

标签: windows-phone-7 rss listbox itemssource imageurl

我正在开发一个Windows手机应用程序,其中rss链接在应用程序中给出。新闻结果显示正确,但图像未显示。这就是我在xaml中显示图像的方式

 <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 个答案:

答案 0 :(得分:1)

您不能直接执行img = image,因为它是每个列表项的模板,而不是屏幕上的特定图像。尝试使用转换器将您的Feed中的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;
        }
    }

编辑:更多信息:

  1. 如上所述创建UrlToUriConverter转换器。

  2. 将该转换器插入您的页面资源:

    <phone:PhoneApplicationPage.Resources>
        <src:UrlToUriConverter x:Key="UrlToUri"/> </phone:PhoneApplicationPage.Resources>
    
  3. src是转换器的命名空间,应添加到<phone:PhoneApplicationPage标记中,例如。 xmlns:src="clr-namespace:TestProject"

    1. 在Image.Source绑定中使用该转换器:

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