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; } } }