using System; using System.Globalization; using Avalonia.Data.Converters; using Avalonia.Media; namespace ChronoFlow.View.Converter { /// /// Konvertiert einen booleschen Wert in eine Farbe (Brush). /// True => Blau, False => Grau. /// Wird z. B. für farbliche Statusanzeigen in der Oberfläche verwendet. /// public class BoolToBrushConverter : IValueConverter { /// /// Die Farbe, die bei "true" verwendet wird. /// Kann in XAML überschrieben werden. /// public IBrush TrueBrush { get; set; } = Brushes.Blue; /// /// Die Farbe, die bei "false" verwendet wird. /// Kann in XAML überschrieben werden. /// public IBrush FalseBrush { get; set; } = Brushes.Gray; /// /// Führt die Umwandlung des bool-Wertes in eine Brush durch. /// /// Der Wert, der umgewandelt werden soll (sollte bool sein). /// Zieltyp der Bindung (erwartet IBrush). /// Optionaler Parameter (nicht verwendet). /// Kultureinstellungen (nicht verwendet). /// TrueBrush oder FalseBrush abhängig vom bool-Wert. public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) { if (value is bool boolValue && boolValue) return TrueBrush; return FalseBrush; } /// /// Umkehrkonvertierung wird hier nicht benötigt. /// public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) { throw new NotImplementedException(); // wird i.d.R. nicht benötigt } } }