1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/akwkevin-aistudio.-wpf.-diagram

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
ConverterValueMapToBool.cs 2.4 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
艾竹 Отправлено 2 лет назад 4b798f7
using System;
using System.Linq;
using System.Windows;
using System.Windows.Data;
using System.Windows.Markup;
namespace AIStudio.Wpf.DiagramDesigner.Converters
{
public class ConverterValueMapToBool : MarkupExtension, IValueConverter
{
public override object ProvideValue(System.IServiceProvider serviceProvider)
{
return new ConverterValueMapToBool
{
FromType = this.FromType ?? typeof(char),
TargetType = this.TargetType ?? typeof(bool),
Parameter = this.Parameter
};
}
public object Parameter
{
get;
set;
}
public Type TargetType
{
get;
set;
}
public Type FromType
{
get;
set;
}
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null || parameter == null)
return false;
if (object.Equals(value, parameter))
return true;
return string.Equals(value.ToString(), parameter.ToString());
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var result = DependencyProperty.UnsetValue;
if (value == null) return result;
if (value is bool)
{
if ((bool)value)
result = parameter;
else
result = this.Parameter;
if (result == null || string.IsNullOrWhiteSpace(result.ToString()))
return DependencyProperty.UnsetValue;
//处理枚举类型
if (targetType.IsEnum)
result = Enum.Parse(targetType, result as string);
else if (targetType.IsValueType)
{
if (targetType == typeof(Int32))
result = System.Convert.ToInt32(result);
else if (targetType == typeof(Int16))
result = System.Convert.ToInt16(result);
else if (targetType == typeof(char))
result = result.ToString().First();
}
}
return result;
}
#endregion
}
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/akwkevin-aistudio.-wpf.-diagram.git
git@gitlife.ru:oschina-mirror/akwkevin-aistudio.-wpf.-diagram.git
oschina-mirror
akwkevin-aistudio.-wpf.-diagram
akwkevin-aistudio.-wpf.-diagram
1.0.7Demo