wpf Value and Multivalue Converters Simple add converter [IMultiValueConverter]


Show how to create simple IMultiValueConverter converter and use MultiBinding in xaml. Get summ of all values passed by values array.

public class AddConverter : IMultiValueConverter
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        decimal sum = 0M;

        foreach (string value in values)
            decimal parseResult;
            if (decimal.TryParse(value, out parseResult))
                sum += parseResult;

        return sum.ToString(culture);

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        throw new NotSupportedException();

Using the converter

  1. Define namespace
  1. Define Resource
<converters:AddConverter x:Key="AddConverter"/>
  1. Use it in binding
<StackPanel Orientation="Vertical">
    <TextBox x:Name="TextBox" />
    <TextBox x:Name="TextBox1" />
    <TextBlock >
            <MultiBinding Converter="{StaticResource AddConverter}">
                <Binding Path="Text" ElementName="TextBox"/>
                <Binding Path="Text" ElementName="TextBox1"/>