2009-11-17 5 views
0

Je chargeais actuellement toutes les images dans un dossier dans mon dossier « Mes images » sur ma machine qui fonctionne très bien ...boucle à travers un dossier d'images dans une application WPF

foreach (string filename in Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures))) 

Ce que je veux vraiment être en mesure faire, cependant, est de charger toutes les images dans mon dossier Images dans mon projet de solution. Quelqu'un peut-il me dire s'il vous plaît la syntaxe correcte pour le faire?

Répondre

0

[Rien dans votre question (comme c'est actuellement indiqué) est vraiment directement lié à WPF par opposition à C# (et le développement de Windows) en général, pour autant que je sache. Vous obtiendrez peut-être une meilleure réponse si la question a été balisée en C# plutôt qu'en WPF.]

Je ne pense pas qu'il existe un moyen de référencer le dossier de votre solution en tant que tel (ce qui n'a pas vraiment de sens, car les utilisateurs de votre application n'auront généralement pas la solution, seulement les distributables).

Si vous avez besoin du répertoire pour être dans votre dossier de solution en quelque sorte, peut-être vous devriez consulter le répertoire exécutable réside dans (...\SolutionDir\bin\Debug), que vous pouvez obtenir en utilisant

System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly() 
    .GetModules()[0].FullyQualifiedName); 

(Bien sûr, vous pourriez (\..\.. à la place, mais ce serait un peu moche.)

Selon l'utilisation des images, cependant, il serait probablement préférable de les mettre sous l'un des spécial défini répertoires - Environment.SpecialFolder.CommonApplicationData sonne comme le meilleur candidat, si l'ima ges doivent être partagés par tous les utilisateurs.

0

Une façon d'accéder aux images stockées dans un dossier dans le projet WPF est de faire ce qui suit:

Si vous avez déjà ajouté les images dans un dossier Images, Ajouter les images noms de fichier dans le fichier Resources.resx sous Propriétés. Vous pouvez accéder aux images dans le code par le suivant

string imageFilename = "pack://application:,,,/APP.UI;component/Images/" + Properties.Resources.imagefilename; 
var src = new BitmapImage(); 
src.UriSource = new Uri(imageFilename , UriKind.Absolute); 
Questions connexes