275 lines
8.0 KiB
C#
275 lines
8.0 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Globalization;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Windows.Data;
|
||
using System.Windows.Media;
|
||
using System.Windows;
|
||
using Aitex.Core.RT.Log;
|
||
|
||
namespace Aitex.Core.UI.Converters
|
||
{
|
||
public class LineColorConverter : IValueConverter
|
||
{
|
||
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
try
|
||
{
|
||
Color color = (Color)value;
|
||
return new SolidColorBrush(color);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LOG.Write(ex);
|
||
}
|
||
return Brushes.Black;
|
||
}
|
||
|
||
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
try
|
||
{
|
||
Brush brush = (SolidColorBrush)value;
|
||
Color color = (Color)ColorConverter.ConvertFromString(brush.ToString());
|
||
return color;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LOG.Write(ex);
|
||
}
|
||
return Colors.Black;
|
||
}
|
||
}
|
||
|
||
public class bool2VisibilityConverter : IValueConverter
|
||
{
|
||
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
try
|
||
{
|
||
if ((bool)value)
|
||
return Visibility.Visible;
|
||
return Visibility.Hidden;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LOG.Write(ex);
|
||
}
|
||
return Visibility.Hidden;
|
||
}
|
||
|
||
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
return null;
|
||
}
|
||
}
|
||
|
||
public class bool2VisibilityConverter2 : IValueConverter
|
||
{
|
||
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
try
|
||
{
|
||
if ((bool)value)
|
||
return Visibility.Visible;
|
||
return Visibility.Collapsed;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LOG.Write(ex);
|
||
}
|
||
return Visibility.Collapsed;
|
||
}
|
||
|
||
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
return null;
|
||
}
|
||
}
|
||
|
||
public class Visibility2boolConverter : IValueConverter
|
||
{
|
||
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
try
|
||
{
|
||
Visibility vi = (Visibility)value;
|
||
if (vi == Visibility.Visible) return true;
|
||
return false;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LOG.Write(ex);
|
||
}
|
||
return true;
|
||
}
|
||
|
||
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
try
|
||
{
|
||
bool isChecked = (bool)value;
|
||
if (isChecked) return Visibility.Visible;
|
||
return Visibility.Hidden;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LOG.Write(ex);
|
||
}
|
||
return Visibility.Visible;
|
||
}
|
||
}
|
||
|
||
public class RolloverDataTimeConverter : IValueConverter
|
||
{
|
||
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
if (value != null)
|
||
{
|
||
DateTime dt;
|
||
var isSucc = DateTime.TryParse(value.ToString(), out dt);
|
||
if (isSucc)
|
||
return string.Format("{0}{1}{2}", " 【", dt.ToString("yyyy/MM/dd HH:mm:ss"), "】 ");
|
||
}
|
||
return "N/A";
|
||
}
|
||
|
||
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
return null;
|
||
}
|
||
}
|
||
public class BoolToValueConverter : IValueConverter
|
||
{
|
||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||
{
|
||
if (value == null) return null;
|
||
|
||
return ((bool)value) ? parameter : DependencyProperty.UnsetValue;
|
||
}
|
||
|
||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||
{
|
||
if (value == null) return null;
|
||
return object.Equals(value, parameter);
|
||
}
|
||
}
|
||
public class RadioBoolToIntConverter : IValueConverter
|
||
{
|
||
|
||
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
|
||
int integer = (int)value;
|
||
|
||
if (integer == int.Parse(parameter.ToString()))
|
||
|
||
return true;
|
||
|
||
else
|
||
|
||
return false;
|
||
|
||
}
|
||
|
||
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
|
||
return parameter;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
public class FlowConverterForWeiQiMultiBinding : IMultiValueConverter
|
||
{
|
||
#region IMultiValueConverter 成员
|
||
|
||
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
string str_Result = string.Empty;
|
||
bool isOpen = false;
|
||
for (int i = 0; i < values.Length; i++)
|
||
{
|
||
bool.TryParse(values.GetValue(i) + "", out isOpen);
|
||
if (isOpen == false)
|
||
return isOpen;
|
||
}
|
||
|
||
return true;
|
||
}
|
||
|
||
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
throw new NotImplementedException();
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
|
||
/// <summary>
|
||
/// 其中有一项为true就是true
|
||
/// </summary>
|
||
public class FlowConverterForAllTrueMultiBinding : IMultiValueConverter
|
||
{
|
||
#region IMultiValueConverter 成员
|
||
|
||
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
string str_Result = string.Empty;
|
||
bool isOpen = false;
|
||
for (int i = 0; i < values.Length; i++)
|
||
{
|
||
bool.TryParse(values.GetValue(i) + "", out isOpen);
|
||
if (isOpen == true)
|
||
return isOpen;
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
throw new NotImplementedException();
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
|
||
/// <summary>
|
||
/// 第一项false则关闭,后面的只要有true就打开
|
||
/// </summary>
|
||
public class FlowConverterFirstFalseMultiBinding : IMultiValueConverter
|
||
{
|
||
#region IMultiValueConverter 成员
|
||
|
||
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
if (values.Length < 2) return false;
|
||
|
||
bool isOpen = false;
|
||
bool.TryParse(values.GetValue(0) + "", out isOpen);
|
||
|
||
if (!isOpen) return false;
|
||
|
||
isOpen = false;
|
||
for (int i = 1; i < values.Length; i++)
|
||
{
|
||
bool.TryParse(values.GetValue(i) + "", out isOpen);
|
||
if (isOpen == true)
|
||
return true;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
|
||
{
|
||
throw new NotImplementedException();
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
|
||
}
|