38 lines
1.3 KiB
C#
38 lines
1.3 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|