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 String2VideoCOnverter qui implémente IValueConverter /// class String2VideoConverter : IValueConverter { /// /// String contenant le chemin jusqu'au dossier Videos Initialisé dans le constructeur, getter et setter public /// public static string VideosPath { get; set; } /// /// Constructeur d'un String2VideoConverter qui initialise la valeur VideosPath en combinant le dossier courant au chemin pour aller dans le dossier Videos /// static String2VideoConverter() // Constructeur d'un String2VideoConverteur { VideosPath = Path.Combine(Directory.GetCurrentDirectory(), "..\\..\\Videos\\"); // Initialise la variable videosPath au dossier Videos } /// /// Convertie le string de la video en Chemin vers la vidéo (Exemple video.mp4 -> C:\\Users\\SpotiWish\\bin\\Videos\\video.mp4) /// /// string de la video /// Le type de l'objet a convertir, ici Video /// public object Convert(object value, Type targetType, object parameter, CultureInfo culture) // Convertisseur d'un nom de video en chemin vers cette video { string videoName = value as string; // Variable contenant le nom de la video if (string.IsNullOrWhiteSpace(videoName)) return null; // Si le nom de la video est vide string videoPath = Path.Combine(VideosPath, videoName); // Création de chemin vers la video avec le dossier et le nom de la video return new Uri(videoPath, UriKind.RelativeOrAbsolute); // Retourne le chemin vers la video } /// /// Methode non implémenté, on ne s'en sert pas /// public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }