2009-09-08 6 views
0

J'ai une base de données qui contient une table pour stocker des images d'URL (puisque stocker les images comme les tableaux d'octets pourraient potentiellement ralentir la DB massivement). Il y a deux champs dans la table d'image, un qui stocke une URL à une image basse résolution et un qui stocke une URL à une image à haute résolution. Jusqu'à présent, ce n'est qu'un concept et n'a pas été entièrement mis en œuvre. Ma question est la suivante: si je veux récupérer ces images via les URL de la base de données à afficher dans une vue Silverlight, quelle est la meilleure méthode pour y arriver et où devrais-je stocker les images sur le Web? - Sur un serveur web personnel? Ensuite, je veux une expérience utilisateur impressionnante pour l'affichage de l'image. Potentiellement une vignette qui survole légèrement lorsque vous survolez et lorsque vous cliquez sur un zoom sur un affichage de lightbox.Silverlight User Experience L'affichage des images d'URL?

Aide grandement appréciée.

+0

Puis-je demander ce que vous avez édité? Je vois toujours ceci et je ne sais jamais ce qui a été changé ... – Goober

+0

Cliquez sur la date après "édité" pour voir les changements. –

Répondre

0

Le moyen le plus rapide qui vous permettra de conserver les répertoires et l'organisation existants, et de les garder hors de votre XAP.

string src = Application.Current.Host.Source.ToString(); 
string applicationRoot = src.Substring(0, src.IndexOf("ClientBin")); 
//Where CLientBin is the location of your XAP file 
string imageURL = applicationRoot + "Images/MyImage.jpg" 
0

Une approche serait de ajouter les images à votre application Silverlight, puis les référence en utilisant des chemins relatifs. Définissez l'action de construction sur "Resource" et Copiez dans le répertoire de sortie vers "False". Cela va intégrer l'image dans votre application Silverlight. Idéal pour la simplicité et la performance, mais pas si vous avez des images volumineuses, abondantes ou en constante évolution.

<Image Source="Images/LoRes/10001.JPG" /> 

Une autre approche serait de déployer les images sur le même serveur Web qui héberge votre fichier XAP. En utilisant cette approche, vous pouvez toujours référencer les images par un chemin relatif, seulement maintenant le chemin est relatif au XAP, au lieu du dossier racine de l'application.

<Image Source="../Images/LoRes/10001.JPG" /> 

Silverlight supporte également des URL absolues pour que vous puissiez déployer sur un serveur Web différent entièrement si vous le souhaitez.

<Image Source="http://myimages.com/Images/LoRes/10001.JPG" /> 

Si la base de données ne dispose que des noms d'image, et que vous faites de liaison de données, vous pouvez écrire un convertisseur pour prendre le nom de l'image et trouver le lien relatif ou absolu. Le MSDN documentation for the Image class a plus d'informations.