using System.Windows.Data; namespace Melskin.Converters; /// /// 布尔值到可见性转换器,用于将布尔值转换为WPF中的Visibility枚举值。 /// 该类提供了几种静态实例,可以方便地根据需要选择不同的转换逻辑。 /// /// /// 此转换器继承自BooleanConverter ,并预设了TrueValue和FalseValue的不同组合, /// 以适应常见的UI需求,如基于布尔条件控制元素的显示或隐藏。 /// [ValueConversion(typeof(bool), typeof(Visibility))] public sealed class BooleanToVisibilityConverter() : BooleanConverter(Visibility.Visible, Visibility.Collapsed) { /// /// 表示当布尔值为 false 时,转换结果为 Visibility.Collapsed 的实例。适用于在 WPF 中根据布尔条件控制 UI 元素的可见性,特别是需要将元素设置为折叠状态(Collapsed)的情况。 /// public static readonly BooleanToVisibilityConverter CollapsedInstance = new() { FalseValue = Visibility.Collapsed, TrueValue = Visibility.Visible }; /// /// 表示当布尔值为 true 时,转换结果为 Visibility.Collapsed 的实例。适用于在 WPF 中根据布尔条件控制 UI 元素的可见性,特别是需要将元素在布尔值为真时设置为折叠状态(Collapsed)的情况。 /// public static readonly BooleanToVisibilityConverter InvertCollapsedInstance = new() { FalseValue = Visibility.Visible, TrueValue = Visibility.Collapsed }; /// /// 表示当布尔值为 false 时,转换结果为 Visibility.Hidden 的实例。适用于在 WPF 中根据布尔条件控制 UI 元素的可见性,特别是需要将元素设置为隐藏状态(Hidden)的情况。 /// public static readonly BooleanToVisibilityConverter HiddenInstance = new() { FalseValue = Visibility.Hidden, TrueValue = Visibility.Visible }; /// /// 表示当布尔值为 true 时,转换结果为 Visibility.Hidden 的实例。适用于在 WPF 中根据布尔条件控制 UI 元素的可见性,特别是需要将元素设置为隐藏状态(Hidden)的情况。 /// public static readonly BooleanToVisibilityConverter InvertHiddenInstance = new() { FalseValue = Visibility.Visible, TrueValue = Visibility.Hidden }; }