Files
New-version-HME-moisture-lo…/Converters/BoolToVisibilityConverter.cs

39 lines
1.3 KiB
C#
Raw Permalink Normal View History

2026-06-17 15:04:35 +08:00
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;
}
}
}