39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
using System;
|
|
using System.Globalization;
|
|
using System.Windows;
|
|
using System.Windows.Data;
|
|
using System.Windows.Media;
|
|
|
|
namespace HME_MoistureLossMeter.Converters
|
|
{
|
|
public class BoolToVisibilityConverter : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if (value is bool boolValue)
|
|
{
|
|
if (parameter is string param)
|
|
{
|
|
// 用于颜色转换
|
|
if (param.Contains("Brush") && targetType == typeof(Brush))
|
|
{
|
|
var app = Application.Current;
|
|
return boolValue ? app.FindResource(param) : app.FindResource("PanelBackgroundBrush");
|
|
}
|
|
|
|
// 文本转换
|
|
return boolValue ? param : "";
|
|
}
|
|
return boolValue ? Visibility.Visible : Visibility.Collapsed;
|
|
}
|
|
return Visibility.Collapsed;
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if (value is Visibility visibility)
|
|
return visibility == Visibility.Visible;
|
|
return false;
|
|
}
|
|
}
|
|
} |