1

ここで何が問題なのかわかりませんが、画像が表示されません。オブジェクトの他のすべてのプロパティが表示されますが、画像が読み込まれることはありません。ブラウザでURLを試しましたが、画像が表示されます。これが私のコードです:

MVVM Lightを使用して、ビューモデルを設定します

DataContext="{Binding Main, Source={StaticResource Locator}}">

データバインディングを使用した私のxaml

               <ItemsControl ItemsSource="{Binding AllItems}">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Height="200">
                                <!--<StackPanel.Background>
                                    <ImageBrush ImageSource="PodImages\podstate-Clip.png" />
                                </StackPanel.Background>-->
                                <Image Source="{Binding ImageUri}"/>
                                <StackPanel Orientation="Horizontal">
                                    <StackPanel>
                                        <TextBlock Text="{Binding Summ}" FontSize="32" Foreground="Green"/>
                                        <TextBlock Text="{Binding Brand}" FontSize="32" Foreground="Blue"/>
                                        <TextBlock Text="{Binding L1}" Width="350" TextWrapping="Wrap" Foreground="Blue"/>                                        
                                    </StackPanel>
                                    <TextBlock Text="{Binding Val}"/>

                                </StackPanel>
                            </StackPanel>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>

私のデータモデル

public class Offer
{

    public long ID { get; set; }
    public int Type { get; set; }
    public string Summ { get; set; }
    public string L1 { get; set; }
    public string Brand { get; set; }
    public string ImageUri { get; set; }
}

私のデータサービスコールバック。これは私のコレクションを期待通りに設定しています。ImageUriには有効なURIが含まれています。

private void OffersLoaded(OfferDetailsWithMsg offers)
    {
        AllItems = offers.Items.Where(item => item.Type == 0).ToList();
    }

最後に私のAllItemsプロパティ。はい私は呼んでRaisePropertyChangedいます(簡潔にするために削除されたサポートプロパティ)

public List<Offers> AllItems
    {
        get
        {
            return _allItems;
        }

        set
        {
            if (_allItems == value)
            {
                return;
            }

            _allItems= value;

            RaisePropertyChanged(AllItemsPropertyName);

        }
4

2 に答える 2

0

ああ、これらはGifであり、Gifはサポートされていないようです。

于 2012-05-29T06:23:33.027 に答える
0

Uriではなくa にバインドする必要があると思いますstring。Offer クラスで、次のプロパティを追加して、それにバインドしてみてください。

public Uri ImgUri
{
     get
     {   
          return new Uri(ImageUri, UriKind.Absolute); //or relative, if it is relative
     }
}
于 2012-05-24T04:46:21.800 に答える