using System; using System.Globalization; using Avalonia.Data; using Avalonia.Data.Converters; using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml.MarkupExtensions; namespace AutoCat.Extensions; public class MathExtension: MarkupExtension { public string Path { get; set; } public double Mult { get; set; } = 1; public double Add { get; set; } = 0; public override object ProvideValue(IServiceProvider serviceProvider) { var binding = new ReflectionBindingExtension(Path) { Mode = BindingMode.OneWay, Converter = new FuncValueConverter(e => e*Mult + Add) }; return binding.ProvideValue(serviceProvider); } }