using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
namespace Projet1.Converters
{
///
/// Classe String2ImageConverter qui implémente IValueConverter
///
class String2ImageConverter : IValueConverter
{
///
/// String contenant le chemin jusqu'au dossier Images, getter et setter public
///
public static string ImagesPath { get; set; }
///
/// Constructeur d'un String2ImageConverter qui initialise la valeur ImagesPath en combinant le dossier courant au chemin pour aller dans le dossier Images
///
static String2ImageConverter()
{
ImagesPath = Path.Combine(Directory.GetCurrentDirectory(), "..\\..\\Images\\"); // Initialise la variable ImagesPath au dossier Images
}
///
/// Convertie le string de l'image en Chemin vers l'image
///
/// String de l'image
/// le type de l'objet a convertir, ici Image
///
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) // Convertisseur d'un nom d'image en chemin vers cette image
{
string imageName= value as string; // Variable contenant le nom de l'Image
if(string.IsNullOrWhiteSpace(imageName)) return null; // Si le nom de l'image est vide
string imagePath = Path.Combine(ImagesPath, imageName); // Création de chemin vers l'image avec le dossier et le nom de l'image
return new Uri(imagePath, UriKind.RelativeOrAbsolute); // Retourne le chemin vers l'image
}
///
/// Methode non implementé, on ne s'en sert pas
///
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}