XSDVisualizer/XSDVisualiser.Desktop/Converters/OptionalToBorderBrushConverter.cs
Frederik Jacobsen 813e1ce6e9 Initial better gui implemented.
UX and information still missing alot
2025-10-18 18:09:17 +02:00

28 lines
964 B
C#

using System;
using System.Globalization;
using Avalonia.Data.Converters;
using Avalonia.Media;
using XSDVisualiser.Models;
namespace XSDVisualiser.Desktop.Converters
{
public class OptionalToBorderBrushConverter : IValueConverter
{
private static readonly IBrush RequiredBrush = new SolidColorBrush(Color.FromRgb(0x33, 0x99, 0x33));
private static readonly IBrush OptionalBrush = new SolidColorBrush(Color.FromRgb(0xCC, 0x66, 0x33));
public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
{
if (value is Occurs occ)
{
// Optional if minOccurs == 0
return occ.Min == 0 ? OptionalBrush : RequiredBrush;
}
return RequiredBrush;
}
public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
=> throw new NotSupportedException();
}
}