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

180 lines
4.9 KiB
C#
Raw Normal View History

2026-04-13 13:01:14 +08:00
using System;
2025-05-25 09:29:48 +08:00
using System.Globalization;
using System.Windows;
using System.Windows.Data;
2026-04-13 01:40:39 +08:00
using System.Windows.Media;
2025-05-25 09:29:48 +08:00
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;
}
}
2026-04-13 01:40:39 +08:00
public class StringToGeometryConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
try
{
if (value is string geometryString && !string.IsNullOrEmpty(geometryString))
{
return Geometry.Parse(geometryString);
}
}
catch (Exception)
{
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
2025-05-25 09:29:48 +08:00
}