Ejemplo n.º 1
0
 private void ViewModelChanged(IImageSourceViewModel oldValue, IImageSourceViewModel newValue)
 {
     if (oldValue != null)
     {
         oldValue.PropertyChanged -= ViewModelOnPropertyChanged;
         if (oldValue.Load != null)
         {
             oldValue.Load.PropertyChanged -= ViewModelOnPropertyChanged;
         }
     }
     if (newValue != null)
     {
         newValue.PropertyChanged += ViewModelOnPropertyChanged;
         if (newValue.Load != null)
         {
             newValue.Load.PropertyChanged += ViewModelOnPropertyChanged;
         }
     }
     UpdateState(null);
     EnsureLoading();
 }
Ejemplo n.º 2
0
 public static bool GetIsRendered(IImageSourceViewModel model)
 {
     if (model == null)
     {
         return true;
     }
     return model.IsRendered;
 }
Ejemplo n.º 3
0
 public static void SetIsRendered(IImageSourceViewModel model, bool value)
 {
     if (model == null)
     {
         return;
     }
     model.IsRendered = value;
 }
Ejemplo n.º 4
0
 private async Task SetData()
 {
     try
     {
         var linkTransform = ServiceLocator.Current.GetServiceOrThrow<ILinkTransformService>();
         var hashService = ServiceLocator.Current.GetServiceOrThrow<ILinkHashService>();
         string newName = null;
         if (postData != null)
         {
             var boardLink = linkTransform.BoardLinkFromAnyLink(postData.Link);
             if (postData.Extensions != null)
             {
                 var nameExtension = postData.Extensions.OfType<PostTreePosterExtension>().FirstOrDefault();
                 if (nameExtension != null)
                 {
                     newName = nameExtension.Name ?? "";
                     TripCode = nameExtension.Tripcode ?? "";
                 }
             }
             if (newName == null)
             {
                 if (boardLink?.Engine != null)
                 {
                     newName = await GetDefaultName(boardLink, hashService);
                 }
             }
         }
         if (newName == null)
         {
             newName = "Аноним";
         }
         Name = newName;
         if (postData?.Extensions != null)
         {
             var flagExtension = postData.Extensions.OfType<PostTreeCountryExtension>().FirstOrDefault();
             if (flagExtension != null)
             {
                 Flag = new ImageSourceViewModel(new MediaLink() { Engine = postData?.Link?.Engine ?? "", IsAbsolute = false, RelativeUri = flagExtension.Uri });
                 if (!Flag.SetImageCache(StaticImageCache.IconsAndFlags))
                 {
                     Flag.Load.Start();
                 }
             }
             var iconExtension = postData.Extensions.OfType<PostTreeIconExtension>().FirstOrDefault();
             if (iconExtension != null)
             {
                 Icon = new ImageSourceViewModel(new MediaLink() { Engine = postData?.Link?.Engine ?? "", IsAbsolute = false, RelativeUri = iconExtension.Uri });
                 if (!Icon.SetImageCache(StaticImageCache.IconsAndFlags))
                 {
                     Icon.Load.Start();
                 }
                 IconName = iconExtension.Description ?? "";
             }
         }
     }
     catch (Exception ex)
     {
         DebugHelper.BreakOnError(ex);
     }
 }