【问题标题】:Image not visible in RSS feed图片在 RSS 提要中不可见
【发布时间】:2012-02-19 15:34:11
【问题描述】:

我正在开发一个 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;

如何在我的应用中获取图片?

感谢

【问题讨论】:

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


    【解决方案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;
            }
        }
    

    编辑:更多信息:

    1. 如上创建一个 UrlToUriConverter 转换器。

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

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

    src 是转换器的命名空间,应在&lt;phone:PhoneApplicationPage 标签中添加,例如。 xmlns:src="clr-namespace:TestProject"

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

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

    【讨论】:

    • 那么现在我应该怎么做呢?
    • MSDN Binding.Converter 属性页上有很好的例子:msdn.microsoft.com/en-us/library/…
    • 我在回答中添加了更多信息。希望对您有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 2010-10-03
    • 2012-02-25
    • 2021-02-15
    相关资源
    最近更新 更多