ModernWPF.Converters.ThicknessZeroSideConverter.Convert C# (CSharp) Method

Convert() public method

Converts a value.
public Convert ( object value, Type targetType, object parameter, System culture ) : object
value object The value produced by the binding source.
targetType System.Type The type of the binding target property.
parameter object The converter parameter to use.
culture System The culture to use in the converter.
return object
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            Thickness target = default(Thickness);

            var thickTest = value as Thickness?;
            if (thickTest != null)
            {
                target = thickTest.Value;
            }
            else if (value != null)
            {
                double test = 0;
                if (double.TryParse(value.ToString(), out test))
                {
                    target = new Thickness(test);
                }
            }
            if (parameter != null)
            {
                foreach (var para in parameter.ToString().Split(__splitChars, StringSplitOptions.RemoveEmptyEntries))
                {
                    if (string.Equals(para, "top", StringComparison.OrdinalIgnoreCase))
                    {
                        target.Top = 0;
                    }
                    else if (string.Equals(para, "left", StringComparison.OrdinalIgnoreCase))
                    {
                        target.Left = 0;
                    }
                    else if (string.Equals(para, "right", StringComparison.OrdinalIgnoreCase))
                    {
                        target.Right = 0;
                    }
                    else if (string.Equals(para, "bottom", StringComparison.OrdinalIgnoreCase))
                    {
                        target.Bottom = 0;
                    }
                }
            }
            return target;
        }

Usage Example

        public void Convet_Can_Set_Top_To_Zero()
        {
            var conv = new ThicknessZeroSideConverter();

            var result = conv.Convert(new Thickness(20, 15, 10, 5), typeof(Thickness), "top", CultureInfo.CurrentCulture);

            Assert.AreEqual(new Thickness(20, 0, 10, 5), result);
        }
All Usage Examples Of ModernWPF.Converters.ThicknessZeroSideConverter::Convert
ThicknessZeroSideConverter