최종 사용자에게 광고를 표시하는 Telerik TransitionControl이 있습니다. 로직은 광고 이미지가 뒤에서 비동기 적으로 다운로드되는 방식으로 작성됩니다. 컨트롤은 사용 가능한 이미지를 표시합니다. ObservableCollection을 사용하여 광고 이미지를 보유하고 있습니다. 이미지를 성공적으로 다운로드하면이 ObservableCollection에 새 이미지 정보가 추가됩니다. 그러나 Telerik TransitionControl은 새 이미지로 업데이트되지 않습니다.ObservableCollection에서 컨트롤을 업데이트하지 않습니다.
나는
코드
//Inside the AdvertUserControl.xaml.cs
ViewModel vm = new ViewModel();
DataContext = vm;
this.radControl.SetValue(AdRotatorExtensions.AdRotatorExtensions.ItemsSourceProperty, vm.SquareAdsVertical);
// ViewModel.cs 내부 아래와 같습니다 내부적으로 호출됩니다로 OnNotifyPropertyChanged를 필요로하지 않는 ObservableCollection에 호출 할 생각
public ReadOnlyObservableCollection<Advert> SquareAdsVertical
{
get
{
if (AdsManager.VerticalAds == null)
{
return null;
}
return new ReadOnlyObservableCollection<Advert>(AdsManager.VerticalAds);
}
}
// Inside DownloadManager.cs
private static ObservableCollection<Advert> adsToShowVertical = new ObservableCollection<Advert>();
public static ObservableCollection<Advert> VerticalAds
{
get { if (adsToShowVertical != null) return adsToShowVertical;
return null;
}
}
public static void OnDownloadComplete(Object sender, AsyncCompletedEventArgs e)
{
try
{
if(!e.Cancelled)
{
if (e.Error == null)
{
Advert ad = e.UserState as Advert ;
adsToShowVertical.Add(ad );
}
}