Files
community/Ink Canvas/Helpers/Converters.cs
T

156 lines
4.2 KiB
C#
Raw Normal View History

2025-05-25 09:29:48 +08:00
using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
namespace Ink_Canvas.Converter
{
public class BooleanToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
2025-07-28 14:40:44 +08:00
if ((bool)value)
2025-05-25 09:29:48 +08:00
{
return Visibility.Visible;
}
2025-07-28 14:40:44 +08:00
return Visibility.Collapsed;
2025-05-25 09:29:48 +08:00
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
2025-07-28 14:40:44 +08:00
if ((bool)value)
2025-05-25 09:29:48 +08:00
{
return Visibility.Visible;
}
2025-07-28 14:40:44 +08:00
return Visibility.Collapsed;
2025-05-25 09:29:48 +08:00
}
}
public class VisibilityConverter : IValueConverter
{
2025-07-28 14:40:44 +08:00
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
2025-05-25 09:29:48 +08:00
{
Visibility visibility = (Visibility)value;
if (visibility == Visibility.Visible)
{
return Visibility.Collapsed;
}
2025-07-28 14:40:44 +08:00
return Visibility.Visible;
2025-05-25 09:29:48 +08:00
}
2025-07-28 14:40:44 +08:00
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
2025-05-25 09:29:48 +08:00
{
Visibility visibility = (Visibility)value;
if (visibility == Visibility.Visible)
{
return Visibility.Collapsed;
}
2025-07-28 14:40:44 +08:00
return Visibility.Visible;
2025-05-25 09:29:48 +08:00
}
}
public class IntNumberToString : IValueConverter
{
2025-07-28 14:40:44 +08:00
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
2025-05-25 09:29:48 +08:00
{
if ((double)value == 0)
{
return "无限制";
}
2025-07-28 14:40:44 +08:00
return ((double)value) + "人";
2025-05-25 09:29:48 +08:00
}
2025-07-28 14:40:44 +08:00
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
2025-05-25 09:29:48 +08:00
{
if ((double)value == 0)
{
return "无限制";
}
2025-07-28 14:40:44 +08:00
return ((double)value) + "人";
2025-05-25 09:29:48 +08:00
}
}
public class IntNumberToString2 : IValueConverter
{
2025-07-28 14:40:44 +08:00
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
2025-05-25 09:29:48 +08:00
{
if ((double)value == 0)
{
return "自动截图";
}
2025-07-28 14:40:44 +08:00
return ((double)value) + "条";
2025-05-25 09:29:48 +08:00
}
2025-07-28 14:40:44 +08:00
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
2025-05-25 09:29:48 +08:00
{
if ((double)value == 0)
{
return "自动截图";
}
2025-07-28 14:40:44 +08:00
return ((double)value) + "条";
2025-05-25 09:29:48 +08:00
}
}
public class IsEnabledToOpacityConverter : IValueConverter
{
2025-07-28 14:40:44 +08:00
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
2025-05-25 09:29:48 +08:00
{
bool isChecked = (bool)value;
2025-07-28 14:40:44 +08:00
if (isChecked)
2025-05-25 09:29:48 +08:00
{
return 1d;
}
2025-07-28 14:40:44 +08:00
return 0.35;
2025-05-25 09:29:48 +08:00
}
2025-07-28 14:40:44 +08:00
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); }
2025-05-25 09:29:48 +08:00
}
2025-10-06 22:41:42 +08:00
public class InverseBooleanToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if ((bool)value)
{
return Visibility.Collapsed;
}
return Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if ((bool)value)
{
return Visibility.Collapsed;
}
return Visibility.Visible;
}
}
2025-12-27 22:41:24 +08:00
public class RippleEffectTranslationConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is double d)
{
return -d / 2;
}
return 0.0;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
}
2025-05-25 09:29:48 +08:00
}