using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Data; namespace UIShare.Converters { public class StringToVisibilityConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { // 是否反转结果(字符串非空时返回 Collapsed),用于需要“有值则隐藏”的场景,如展开全屏时隐藏台架标签页 bool inverse = string.Equals(parameter?.ToString(), "Inverse", StringComparison.OrdinalIgnoreCase); if(value is string str) { if (string.IsNullOrEmpty(str)) { return inverse ? Visibility.Visible : Visibility.Collapsed; } else { return inverse ? Visibility.Collapsed : Visibility.Visible; } } return inverse ? Visibility.Visible : Visibility.Collapsed; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }