Files
Shrlalgo.RvKits/NeoUI/Melskin/Converters/Internal/InterlacedBackgroundConverter.cs

30 lines
1.1 KiB
C#
Raw Normal View History

2025-07-31 20:12:24 +08:00
using System.Globalization;
using System.Windows.Data;
2026-01-02 17:30:30 +08:00
namespace VariaStudio.Converters.Internal;
2025-07-31 20:12:24 +08:00
/// <summary>
/// 隔行交错背景颜色
/// </summary>
[ValueConversion(typeof(int), typeof(Visibility))]
public class InterlacedBackgroundConverter : IValueConverter
{
2025-08-20 12:10:35 +08:00
/// <summary>
/// InterlacedBackgroundConverter 的单例实例,用于提供隔行交错背景颜色的转换功能。
/// 该实例可以直接在XAML中通过静态资源引用以便为列表项等控件设置交替背景颜色。
/// </summary>
2025-07-31 20:12:24 +08:00
public static readonly InterlacedBackgroundConverter Instance = new();
2025-08-20 12:10:13 +08:00
/// <inheritdoc />
2025-07-31 20:12:24 +08:00
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;
}
2025-08-20 12:10:13 +08:00
/// <inheritdoc />
2025-07-31 20:12:24 +08:00
public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
{
2025-08-20 12:10:13 +08:00
return Binding.DoNothing;
2025-07-31 20:12:24 +08:00
}
}