EnumerableToBooleanConverter.cs 502 B

1234567891011121314151617181920
  1. using System.Collections;
  2. using System.Linq;
  3. namespace InABox.WPF;
  4. public class EnumerableToBooleanConverter : AbstractConverter<IEnumerable?, bool>
  5. {
  6. public bool Value { get; set; } = true;
  7. public override bool Convert(IEnumerable? value)
  8. {
  9. if (value == null)
  10. return !Value;
  11. var enumerable = value as object[] ?? value.Cast<object>().ToArray();
  12. if (!enumerable.GetEnumerator().MoveNext())
  13. return !Value;
  14. return Value;
  15. }
  16. }