using System.Globalization; using System.Windows.Data; namespace Melskin.Converters.Internal; /// /// 隔行交错背景颜色 /// [ValueConversion(typeof(int), typeof(Visibility))] public class InterlacedBackgroundConverter : IValueConverter { /// /// InterlacedBackgroundConverter 的单例实例,用于提供隔行交错背景颜色的转换功能。 /// 该实例可以直接在XAML中通过静态资源引用,以便为列表项等控件设置交替背景颜色。 /// public static readonly InterlacedBackgroundConverter Instance = new(); /// public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) { var line = (int)(value ?? throw new ArgumentNullException(nameof(value))); return line % 2 == 0 ? Visibility.Collapsed : Visibility.Visible; } /// public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) { return Binding.DoNothing; } }