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