2009-10-01 11 views
2

Je crée une application FlippingBook Silverlight et j'ai rencontré un problème que je n'arrive pas à résoudre.Silverlight Dynamic Image Problème de chargement

Le problème concerne les images chargées de manière asynchrone. J'ai écrit une classe qui charge une image à partir d'une adresse Web et la stocke dans un objet BitmapImage.

Je me lie à cet objet image à la source d'image sur le contrôle d'image silverlight. Maintenant, ma page et la vignette accèdent à la même propriété ImageData qui stocke les données d'images.

La liste des miniatures est une zone de liste qui a été conçue pour servir de visionneuse de miniatures.

Le livre et la listbox ont tous deux la même source d'articles, c'est pourquoi les problèmes me déroutent. Tout fonctionne avec les images chargées en arrière-plan et la mise à jour de l'interface utilisateur lorsqu'elles ont été chargées ... SAUF les 3 premiers (et toujours les 3 premiers) de la liste des vignettes ne montrent jamais les imagedata.

Ceci est une image pour illustrer l'interface utilisateur et problème: alt text http://www.pcbuyersguide.co.za/picture.php?albumid=19&pictureid=895

code

Reliure image sur la page:

<Image Source="{Binding ImageData}" Stretch="Fill" ImageFailed="Image_ImageFailed"/> 

Code de liaison image sur la vignette (Styled ListBoxItem):

<Image Stretch="Fill" Source="{Binding ImageData}"/> 

Propriété:

public BitmapImage ImageData 
    { 
     get { return oImageData; } 
     set 
     { 
      if (value != this.oImageData) 
      { 
       this.oImageData = value; 
       NotifyPropertyChanged("ImageData"); 
      } 
     } 
    } 

J'ai testé avec des images qui prennent du temps à charger et tout fonctionne, mais ce sont juste ces 3 premiers qui me donnent l'enfer. Je ne comprends pas car les objets sont liés et devraient effectivement tous être les mêmes.

La propriété ItemSource est une collection observablecollection. Je sais que je n'ai pas donné beaucoup d'information, mais je veux essayer de concentrer ma question. Si vous avez besoin de plus d'informations, je serai heureux de le fournir.

Toute aide serait grandement appréciée.

Répondre

2

Il s'est avéré être un problème avec un style sur le ItemContentStyle que j'avais défini. J'ai placé la grille de la racine sur une certaine taille fixe, ce que Silverlight n'aime pas. J'ai donc choisi la taille de l'image et j'ai fait d'autres réglages et cela semblait aller bien.

Questions connexes