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