2009-10-30 6 views
0

Charger des images dans Silverlight a beaucoup d'options selon ce que vous voulez faire, mais ce petit problème me confond un peu. J'espère que quelqu'un ici pourra m'aider!Charger des images de différents UserControls dans Silverlight

Dans le projet web, dans le répertoire ClientBin, j'ai un répertoire appelé Images qui contient un fichier png.

Dans le fichier MainPage.xaml, je peux créer un objet image, appelez-le MainImage puis dans le code derrière l'utiliser dans le constructeur:

BitmapImage src = new BitmapImage (new Uri ("Images/myImage .png ", UriKind.Relative)); mainImage.SetValue (Image.SourceProperty, src);

Tout cela fonctionne très bien, cependant quand je crée un UserControl avec la même fonctionnalité, puis créer une instance de ce contrôle sur le MainPage.xaml l'application s'exécute mais je ne reçois aucune image. Pourquoi est-ce?

Je vais aussi souligner que le nouveau contrôle utilisateur a été créé dans un dossier de commandes et a donc un autre espace de noms (de solutionName.Controls ou autre)

Toute aide serait grande, et si vous avez besoin de plus information s'il vous plaît demander (essayé de le garder bref)

Kris

+0

Je vois que votre URI est relative .. Avez-vous essayé de le rendre absolu? (c'est-à-dire mettre le chemin entier à elle?) Cela pourrait vous aider à trouver la première étape dans la détermination de votre problème. – Jeremiah

Répondre

2

Modifier la façon dont vous créez l'URI de l'image à ce lieu:

Uri url = new Uri(Application.Current.Host.Source, "Images/myImage.png"); 
BitmapImage src = new BitmapImage(url); 

Cela va utiliser le xap comme racine uri et ensuite faire l'URL par rapport à cela afin que cela fonctionne indépendamment de ce que l'URL actuelle est.

Questions connexes