アプリに画像のリストがあり、それらはすべてリスト ボックス内にあり、ソースを URL として指定しています。
すべて正常に動作し、指定した URL から画像を表示できます。
画像を変更してリロードすると、ListBox
その変更がその画像に反映されず、新しい画像ではなく古い画像が表示されます。
確かに、画像の変更後、新しい画像の URL をソースにバインドしますが、古い画像が表示されます。なぜこれが起こっているのかわかりません。ここに私のコードがあります
<ListBox Grid.Row="1" HorizontalAlignment="Left" Margin="0,81,0,0" Name="wishListListBox" VerticalAlignment="Top" Width="480" Visibility="Visible">
<ListBox.ItemTemplate>
<DataTemplate>
<Image ImageFailed="wishlistImage_ImageFailed_1" x:Name="wishlistImage" HorizontalAlignment="Left" Width="164" Margin="12,54,0,88" Stretch="Fill">
<Image.Source>
<BitmapImage CreateOptions="DelayCreation,IgnoreImageCache" UriSource="{Binding thumb_image}" />
</Image.Source>
</Image>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
これが私のイメージのitemsourceを設定する私のクラスです
[DataContract]
public class WishListResponse : INotifyPropertyChanged
{
[DataMember]
public List<string> thumb_images { get; set; }
public string thumb_image
{
get
{
if (thumb_images.Count != 0)
return thumb_images[0];
else
return "";
}
set
{
thumb_images[0] = value;
OnPropertyChanged(thumb_images[0]);
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
}
私のメインページでは、このようにアイテムソースをバインドします
public static List<WishListResponse> wishlistList = new List<WishListResponse>();
wishListListBox.ItemsSource = wishlistList.ToArray();
画像コントロールを更新するのを手伝ってくれる人はいますか? ありがとうございました。