J'essaie de charger des images bitmap à partir de fichiers contenus dans le système de fichiers. J'ai un dictionnaire de clés et des chemins de fichiers relatifs. Malheureusement, le constructeur d'Uri ne semble pas déterministe dans la manière dont il charge les images.
Voici mon code :
foreach(KeyValuePair<string, string> imageLocation in _imageLocations)
{
try
{
BitmapImage img = new BitmapImage();
img.BeginInit();
img.UriSource = new Uri(@imageLocation.Value, UriKind.Relative);
img.EndInit();
_images.Add(imageLocation.Key, img);
}
catch (Exception ex)
{
logger.Error("Error attempting to load image", ex);
}
}
Malheureusement, parfois les Uris sont chargés comme des Uris de fichiers relatifs et parfois ils sont chargés comme des Uris de paquets relatifs. Il ne semble pas y avoir de rime ou de raison pour déterminer lequel sera chargé de quelle manière. Parfois, tous les Uris se chargent d'une façon, ou seulement quelques-uns, ou la plupart d'entre eux, et cela change à chaque fois que j'exécute le code.
Une idée de ce qui se passe ici ?