38 lines
1.6 KiB
C#
38 lines
1.6 KiB
C#
using System.Globalization;
|
||
using System.Windows.Data;
|
||
|
||
namespace Melskin.Converters
|
||
{
|
||
/// <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;
|
||
}
|
||
}
|
||
} |