using System; using System.Collections.Generic; using System.Linq; using System.Windows.Data; using System.Windows; namespace DTS.Common.Converters { [ValueConversion(typeof(List), typeof(Visibility))] public class StringListToVisibilityConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (targetType != typeof(Visibility)) throw new InvalidOperationException("The target must be a Visibility"); return (((List)value) ?? throw new InvalidOperationException()).Any() ? Visibility.Visible : Visibility.Collapsed; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } } }