| 1234567891011121314151617181920212223242526272829303132333435 | 
							- using InABox.WPF;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Globalization;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using System.Windows.Data;
 
- namespace InABox.Wpf;
 
- public class FuncConverter<TIn, TOut>(Func<TIn, TOut> convert, Func<TOut, TIn>? convertBack = null) : IValueConverter<TIn, TOut>
 
- {
 
-     public Func<TIn, TOut> ConvertFunc { get; set; } = convert;
 
-     public Func<TOut, TIn>? ConvertBackFunc { get; set; } = convertBack;
 
-     public object? Convert(object? value, Type targetType, object parameter, CultureInfo culture)
 
-     {
 
-         if(value is TIn tIn)
 
-         {
 
-             return ConvertFunc(tIn);
 
-         }
 
-         return null;
 
-     }
 
-     public object? ConvertBack(object? value, Type targetType, object parameter, CultureInfo culture)
 
-     {
 
-         if(value is TOut tOut && ConvertBackFunc is not null)
 
-         {
 
-             return ConvertBackFunc.Invoke(tOut);
 
-         }
 
-         return null;
 
-     }
 
- }
 
 
  |