Files
Shrlalgo.RvKits/Melskin/Converters/ComparisionToVisibilityConverter.cs

38 lines
1.6 KiB
C#
Raw Normal View History

2025-08-20 12:10:35 +08:00
using System.Globalization;
using System.Windows.Data;
2026-01-02 17:30:41 +08:00
namespace Melskin.Converters
2025-08-20 12:10:35 +08:00
{
/// <summary>
/// 比较值与参数是否相等并根据比较结果返回可见性状态的转换器。如果值与参数相等则返回可见Visibility.Visible否则返回折叠Visibility.Collapsed。此转换器主要用于XAML绑定中控制UI元素基于某些条件的显示或隐藏。
/// </summary>
/// <remarks>
/// 该转换器提供了一个静态实例Instance以便在XAML中方便地重用而无需多次创建新的实例。
/// </remarks>
public class ComparisionToVisibilityConverter : IValueConverter
{
/// <summary>
/// 获取单例实例的属性用于访问ComparisionToVisibilityConverter类的唯一实例。
/// 该实例提供了一个比较值与参数是否相等的功能并根据比较结果返回对应的可见性状态。通常用于XAML绑定中
/// 以便在特定条件下动态控制UI元素的可见性。
/// </summary>
public static ComparisionToVisibilityConverter Instance { get; } = new();
/// <inheritdoc />
public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
{
if (value != null && value.Equals(parameter))
{
return Visibility.Visible;
}
return Visibility.Collapsed;
}
/// <inheritdoc />
public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
{
return DependencyProperty.UnsetValue;
}
}
}