using CoreLibrary.Core; using System.Globalization; namespace MauiSpark.Convertisseurs { /// /// Convertisseur d'indicateur en couleur qui implémente l'interface IValueConverter. /// Cette classe permet de convertir des valeurs de type Indicateur en valeurs de type Color. /// public class IndicateurVersCouleurMAUI : IValueConverter { /// /// Obtient la couleur noire. /// public static Color Noir { get; private set; } = Color.FromArgb("#000000"); /// /// Obtient la couleur blanche. /// public static Color Blanc { get; private set; } = Color.FromArgb("#FFFFFF"); /// /// Convertit une valeur de type Indicateur en une valeur de type Color. /// /// La valeur à convertir. /// Le type cible de la conversion. /// Un paramètre facultatif utilisé pour la conversion. /// La culture à utiliser pour la conversion. /// Une valeur de type Color correspondant à la valeur de type Indicateur. public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) { if (value is not Indicateur) return Noir; switch (value) { case Indicateur.BonnePlace: return Noir; case Indicateur.BonneCouleur: return Blanc; default: return Noir; } } /// /// Convertit une valeur de type Color en une valeur de type Indicateur. /// /// La valeur à convertir. /// Le type cible de la conversion. /// Un paramètre facultatif utilisé pour la conversion. /// La culture à utiliser pour la conversion. /// Non implémenté. Lance une NotImplementedException. public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) { throw new NotImplementedException(); } } }