using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Data; namespace BallanceTasEditor.Converters { public class GenericConverter : IValueConverter { private readonly Func converter; public GenericConverter(Func converter) { this.converter = converter; } public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is TIn t) { return converter(t); } else { return Binding.DoNothing; } } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return Binding.DoNothing; } } public static class ConverterWarehouse { public static readonly GenericConverter FpsConverter = new GenericConverter((v) => Utils.FpsConverter.ToDelta(v).ToString()); } }