【问题标题】:c# can't display the image of a RSS feedc#无法显示RSS提要的图像
【发布时间】:2013-03-07 21:17:25
【问题描述】:

我正在将此 RSS 源用于我的 Windows 8 应用程序 (c#) http://www.skysports.com/rss/0,20514,11661,00。我可以显示 Title 和 PubDate 但我卡在图像上。

    private async void LoadRSS()
    {
        SyndicationClient client = new SyndicationClient();
        Uri feedUri = new Uri("http://www.skysports.com/rss/0,20514,11661,00.xml");
        SyndicationFeed feed = await client.RetrieveFeedAsync(feedUri);
        FeedData feedData = new FeedData();
        foreach (SyndicationItem item in feed.Items)
        {
            FeedItem feedItem = new FeedItem();
            feedItem.Title = item.Title.Text;
            feedItem.PubDate = item.PublishedDate.DateTime;

            // Handle the differences between RSS and Atom feeds.
            if (feed.SourceFormat == SyndicationFormat.Atom10)
            {
                feedItem.Content = item.Content.Text;
                feedItem.Link = new Uri("http://www.skysports.com" + item.Id);
            }
            else if (feed.SourceFormat == SyndicationFormat.Rss20)
            {
                feedItem.Content = item.Summary.Text;
                feedItem.Link = item.Links[0].Uri;
            }
            feedData.Items.Add(feedItem);
        }

        ItemListView.DataContext = feedData.Items;
    }

xml代码:

    <GridView x:Name="ItemListView" Grid.Column="2" Grid.Row="1" ItemsSource="{Binding}" ItemClick="Sports_ItemClick_1" IsItemClickEnabled="True" SelectionMode="None" >
        <GridView.ItemTemplate>
            <DataTemplate>

                <Grid  Width="400" Height="75" Margin="0,0,50,0" >
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="75"></ColumnDefinition>
                        <ColumnDefinition Width="325"></ColumnDefinition>
                    </Grid.ColumnDefinitions>
                    <Border Background="#60BF89">
                        <Image Source="{Binding ImagePath, Mode=OneWay}" Stretch="None" Margin="5,15,0,0" VerticalAlignment="Top" HorizontalAlignment="Center" Width="500"/>
                    </Border>
                    <StackPanel Grid.Column="1" VerticalAlignment="Bottom" Background="{StaticResource ListViewItemOverlayBackgroundThemeBrush}">
                        <TextBlock Foreground="White" Text="{Binding Title}" FontSize="16" Margin="5,0,0,0" TextWrapping="Wrap" />
                        <TextBlock Foreground="White" Text="{Binding PubDate}" FontSize="12" Margin="5,0,0,0"/>

                    </StackPanel>
                </Grid>
            </DataTemplate>              
        </GridView.ItemTemplate>
    </GridView>

我想要第一列中的图片。有什么想法吗??

【问题讨论】:

    标签: c# rss


    【解决方案1】:

    您没有在显示的代码示例中设置 ImagePath 属性,认为这是一个问题

    【讨论】:

    • 是的,我忽略了这个,因为我不知道该怎么做。
    • 在 DataFeed 类中: public Uri ImagePath { get;放;所以我正在尝试 FeedItem.ImagePath = item.ItemUri;导致 System.Exception
    猜你喜欢
    • 1970-01-01
    • 2014-03-07
    • 2014-07-01
    • 2012-11-07
    • 2015-04-11
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多