180 lines
4.9 KiB
C#
180 lines
4.9 KiB
C#
using System;
|
|
using System.Globalization;
|
|
using System.Windows;
|
|
using System.Windows.Data;
|
|
using System.Windows.Media;
|
|
|
|
namespace Ink_Canvas.Converter
|
|
{
|
|
public class BooleanToVisibilityConverter : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if ((bool)value)
|
|
{
|
|
return Visibility.Visible;
|
|
}
|
|
|
|
return Visibility.Collapsed;
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if ((bool)value)
|
|
{
|
|
return Visibility.Visible;
|
|
}
|
|
|
|
return Visibility.Collapsed;
|
|
}
|
|
}
|
|
public class VisibilityConverter : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
Visibility visibility = (Visibility)value;
|
|
if (visibility == Visibility.Visible)
|
|
{
|
|
return Visibility.Collapsed;
|
|
}
|
|
|
|
return Visibility.Visible;
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
Visibility visibility = (Visibility)value;
|
|
if (visibility == Visibility.Visible)
|
|
{
|
|
return Visibility.Collapsed;
|
|
}
|
|
|
|
return Visibility.Visible;
|
|
}
|
|
}
|
|
|
|
public class IntNumberToString : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if ((double)value == 0)
|
|
{
|
|
return "无限制";
|
|
}
|
|
|
|
return ((double)value) + "人";
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if ((double)value == 0)
|
|
{
|
|
return "无限制";
|
|
}
|
|
|
|
return ((double)value) + "人";
|
|
}
|
|
}
|
|
|
|
public class IntNumberToString2 : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if ((double)value == 0)
|
|
{
|
|
return "自动截图";
|
|
}
|
|
|
|
return ((double)value) + "条";
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if ((double)value == 0)
|
|
{
|
|
return "自动截图";
|
|
}
|
|
|
|
return ((double)value) + "条";
|
|
}
|
|
}
|
|
|
|
public class IsEnabledToOpacityConverter : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
bool isChecked = (bool)value;
|
|
if (isChecked)
|
|
{
|
|
return 1d;
|
|
}
|
|
|
|
return 0.35;
|
|
}
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); }
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
|
|
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();
|
|
}
|
|
}
|
|
}
|