27 lines
724 B
C#
27 lines
724 B
C#
using System;
|
|
using Avalonia;
|
|
using Avalonia.Data;
|
|
using Avalonia.Data.Converters;
|
|
using Avalonia.Markup.Xaml;
|
|
using Avalonia.Markup.Xaml.MarkupExtensions;
|
|
|
|
namespace AutoCat.Extensions;
|
|
|
|
public class ThicknessExtension: 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<double, object>(e => new Thickness( e*Mult + Add))
|
|
};
|
|
|
|
return binding.ProvideValue(serviceProvider);
|
|
}
|
|
} |