0

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

我如何在我的应用程序中获取图像?

谢谢

4

1 回答 1

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是转换器的命名空间,它应该添加到<phone:PhoneApplicationPage标签中,例如。xmlns:src="clr-namespace:TestProject"

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

            <Image Source="{Binding LineOne, Converter={StaticResource UrlToUri}}" >
    
于 2012-02-19T15:41:42.200 回答