using System; using Avalonia.Data; using Avalonia.Data.Converters; using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml.MarkupExtensions; namespace AutoCat.Extensions; public class TernaryExtension(string path) : MarkupExtension { public string Path { get; set; } = path; public object? True { get; set; } public object? False { get; set; } public override object ProvideValue(IServiceProvider serviceProvider) { var binding = new ReflectionBindingExtension(Path) { Mode = BindingMode.OneWay, Converter = new FuncValueConverter(e => e ? True : False) }; return binding.ProvideValue(serviceProvider); } }