You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.3 KiB
55 lines
2.3 KiB
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
|
|
{
|
|
/// <summary>
|
|
/// Classe String2VideoCOnverter qui implémente IValueConverter
|
|
/// </summary>
|
|
class String2VideoConverter : IValueConverter
|
|
{
|
|
/// <summary>
|
|
/// String contenant le chemin jusqu'au dossier Videos Initialisé dans le constructeur, getter et setter public
|
|
/// </summary>
|
|
public static string VideosPath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Constructeur d'un String2VideoConverter qui initialise la valeur VideosPath en combinant le dossier courant au chemin pour aller dans le dossier Videos
|
|
/// </summary>
|
|
static String2VideoConverter() // Constructeur d'un String2VideoConverteur
|
|
{
|
|
VideosPath = Path.Combine(Directory.GetCurrentDirectory(), "..\\..\\Videos\\"); // Initialise la variable videosPath au dossier Videos
|
|
}
|
|
|
|
/// <summary>
|
|
/// Convertie le string de la video en Chemin vers la vidéo (Exemple video.mp4 -> C:\\Users\\SpotiWish\\bin\\Videos\\video.mp4)
|
|
/// </summary>
|
|
/// <param name="value">string de la video</param>
|
|
/// <param name="targetType">Le type de l'objet a convertir, ici Video</param>
|
|
/// <returns></returns>
|
|
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
|
|
}
|
|
|
|
/// <summary>
|
|
/// Methode non implémenté, on ne s'en sert pas
|
|
/// </summary>
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
}
|