2026-02-25 15:43:47 +08:00
|
|
|
|
using System.Globalization;
|
|
|
|
|
|
using System.Windows.Data;
|
|
|
|
|
|
|
|
|
|
|
|
namespace PetWashControl.Converters;
|
|
|
|
|
|
|
|
|
|
|
|
public class BoolToStatusConverter : IValueConverter
|
|
|
|
|
|
{
|
|
|
|
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (value is bool isOpen)
|
|
|
|
|
|
{
|
|
|
|
|
|
return isOpen ? "已打开" : "已关闭";
|
|
|
|
|
|
}
|
|
|
|
|
|
return "未知";
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
|
|
|
|
{
|
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class BoolToWashingConverter : IValueConverter
|
|
|
|
|
|
{
|
|
|
|
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (value is bool isWashing)
|
|
|
|
|
|
{
|
|
|
|
|
|
return isWashing ? "清洗中" : "空闲";
|
|
|
|
|
|
}
|
|
|
|
|
|
return "未知";
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
|
|
|
|
{
|
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2026-02-25 18:30:24 +08:00
|
|
|
|
|
|
|
|
|
|
public class BoolToVisibilityConverter : IValueConverter
|
|
|
|
|
|
{
|
|
|
|
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (value is bool boolValue)
|
|
|
|
|
|
{
|
|
|
|
|
|
return boolValue ? System.Windows.Visibility.Visible : System.Windows.Visibility.Collapsed;
|
|
|
|
|
|
}
|
|
|
|
|
|
return System.Windows.Visibility.Collapsed;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
|
|
|
|
{
|
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class InverseBoolToVisibilityConverter : IValueConverter
|
|
|
|
|
|
{
|
|
|
|
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (value is bool boolValue)
|
|
|
|
|
|
{
|
|
|
|
|
|
return boolValue ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible;
|
|
|
|
|
|
}
|
|
|
|
|
|
return System.Windows.Visibility.Visible;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
|
|
|
|
{
|
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2026-02-26 11:30:31 +08:00
|
|
|
|
|
|
|
|
|
|
public class ProgressToWidthConverter : IValueConverter
|
|
|
|
|
|
{
|
|
|
|
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (value is int progress)
|
|
|
|
|
|
{
|
|
|
|
|
|
// 假设进度条容器宽度为300,根据百分比计算实际宽度
|
|
|
|
|
|
return progress * 3.0; // 300px * (progress/100)
|
|
|
|
|
|
}
|
|
|
|
|
|
return 0.0;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
|
|
|
|
{
|
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|