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