Ejemplo n.º 1
0
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value == DependencyProperty.UnsetValue)
            {
                return(value);
            }
            else if (Converter1 == null || Converter2 == null)
            {
                List <IValueConverter> convertersReverseList = new List <IValueConverter>(Converters);
                convertersReverseList.Reverse();

                foreach (var converter in convertersReverseList)
                {
                    value = converter.ConvertBack(value, targetType, parameter, culture);
                    if (value == Binding.DoNothing)
                    {
                        return(Binding.DoNothing);
                    }
                    if (value == DependencyProperty.UnsetValue)
                    {
                        return(DependencyProperty.UnsetValue);
                    }
                }

                return(value);
            }
            else
            {
                return(Converter1.ConvertBack(Converter2.ConvertBack(value, targetType, parameter, culture), targetType, parameter, culture));
            }
        }
Ejemplo n.º 2
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value == DependencyProperty.UnsetValue)
            {
                return(value);
            }
            else if (Converter1 == null || Converter2 == null)
            {
                foreach (var converter in Converters)
                {
                    value = converter.Convert(value, targetType, parameter, culture);
                    if (value == Binding.DoNothing)
                    {
                        return(Binding.DoNothing);
                    }
                    if (value == DependencyProperty.UnsetValue)
                    {
                        return(DependencyProperty.UnsetValue);
                    }
                }

                return(value);
            }
            else
            {
                return(Converter2.Convert(Converter1.Convert(value, targetType, Converter1Parameter ?? parameter, culture), targetType, Converter2Parameter ?? parameter, culture));
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Gets the value of the dynamic property for the specified target object.
        /// </summary>
        /// <param name="target">
        /// Target object to set property value on.
        /// </param>
        /// <param name="value">
        /// A new property value.
        /// </param>
        public object SetValue(object target, object value)
        {
            object realValue = Converter2.ToType(value, this.PropertyType);

            setter(target, realValue);
            return(realValue);
        }
Ejemplo n.º 4
0
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            if (values.Any(x => x == DependencyProperty.UnsetValue))
            {
                return(DependencyProperty.UnsetValue);
            }
            var avarageMoney = Converter1.Convert(values, targetType, parameter, culture);
            var MoneyString  = Converter2.Convert(avarageMoney, targetType, parameter, culture);
            var result       = Converter3.Convert(MoneyString, targetType, parameter, culture);

            return(result);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 执行 Transact-SQL 语句, 返回多行单列集合。
        /// </summary>
        /// <typeparam name="TValue">返回值类型。</typeparam>
        /// <returns>多行单列集合。</returns>
        public static List <TValue> ConvertToList <TValue>(IDataReader dataReader)
        {
            //DataLogManager.ProfileDataCommand(this);
            List <TValue> list = new List <TValue>();

            while (dataReader.Read())
            {
                TValue value = (TValue)Converter2.ToType(dataReader.GetValue(0), typeof(TValue));
                list.Add(value);
            }

            return(list);
        }