Пример #1
0
        public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            string number;

            // Return the text key only in design mode. Nothing better to do for now.
            if (DesignerProperties.GetIsInDesignMode(new DependencyObject()))
            {
                if (decimals > -1)
                {
                    number = Tx.Number(0, decimals);
                }
                else
                {
                    number = Tx.Number(0);
                }
            }
            else
            {
                // values[0] is the Dummy binding, don't use it

                // Read the number value from binding number two.
                if (values[1] == DependencyProperty.UnsetValue)
                {
                    return(DependencyProperty.UnsetValue);
                }
                else if (values[1] is byte || values[1] is sbyte ||
                         values[1] is ushort || values[1] is short ||
                         values[1] is uint || values[1] is int ||
                         values[1] is long)
                {
                    long l = System.Convert.ToInt64(values[1]);
                    number = Tx.Number(l);
                }
                else
                {
                    decimal d = System.Convert.ToDecimal(values[1]);
                    if (decimals > -1)
                    {
                        number = Tx.Number(d, decimals);
                    }
                    else
                    {
                        number = Tx.Number(d);
                    }
                }
            }

            if (!string.IsNullOrEmpty(unit))
            {
                number = Tx.NumberUnit(number, unit);
            }

            return(number);
        }