0

アプリでrssリンクが提供されるWindows Phoneアプリを開発しています。ニュースの結果はきちんと表示されるのですが、画像が表示されません。これは、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 に答える