using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ShakerApp.Convert { internal class MutliBoolConverter : Avalonia.Data.Converters.IMultiValueConverter { public object? Convert(IList values, Type targetType, object? parameter, CultureInfo culture) { if (values == null || values.Count == 0) return false; var bools = values.Select(x => { if (x == null) return false; if (x is bool b) return b; else { if (bool.TryParse(x.ToString(), out b)) return b; return false; } }).ToList(); bool v = true; bools.ForEach(x => v &= x); if (parameter == null) return v; else return !v; } } }