MultiBinding.Converter Property

Gets or sets the converter to use to convert the source values to or from the target value.

Namespace: System.Windows.Data
Assembly: PresentationFramework (in presentationframework.dll)
XML Namespace:

Public Property Converter As IMultiValueConverter
Dim instance As MultiBinding
Dim value As IMultiValueConverter

value = instance.Converter

instance.Converter = value
/** @property */
public IMultiValueConverter get_Converter ()

/** @property */
public void set_Converter (IMultiValueConverter value)

public function get Converter () : IMultiValueConverter

public function set Converter (value : IMultiValueConverter)

<object Converter="myConverter"/>
 myConverter  A resource reference to a class that implements the IMultiValueConverter interface, which includes implementations of the Convert and ConvertBack methods. To refer to a value converter, use the StaticResource markup extension. 

Property Value

A value of type IMultiValueConverter that indicates the converter to use. The default value is a null reference (Nothing in Visual Basic).

Individual bindings in the collection can have their own value Converter. For more information, see IValueConverter.

MultiBinding allows you to bind a binding target property to a list of source properties and then apply logic to produce a value with the given inputs. This example demonstrates how to use MultiBinding.

In the following example, NameListData refers to a collection of PersonName objects, which are objects that contain two properties, firstName and lastName. The following example produces a TextBlock that shows the first and last names of a person with the last name first.

  Title="MultiBinding Sample">
    <c:NameList x:Key="NameListData"/>
    <c:NameConverter x:Key="myNameConverter"/>




    <TextBlock Name="textBox2" DataContext="{StaticResource NameListData}">
        <MultiBinding Converter="{StaticResource myNameConverter}"
          <Binding Path="FirstName"/>
          <Binding Path="LastName"/>



To understand how the last-name-first format is produced, let's take a look at the implementation of the NameConverter:

Public Class NameConverter
    Implements IMultiValueConverter

Public Function Convert1(ByVal values() As Object, _
                         ByVal targetType As System.Type, _
                         ByVal parameter As Object, _
                         ByVal culture As System.Globalization.CultureInfo) As Object _
                         Implements System.Windows.Data.IMultiValueConverter.Convert
    Select Case CStr(parameter)
        Case "FormatLastFirst"
            Return (values(1) & ", " & values(0))
    End Select
    Return (values(0) & " " & values(1))
End Function

Public Function ConvertBack1(ByVal value As Object, _
                             ByVal targetTypes() As System.Type, _
                             ByVal parameter As Object, _
                             ByVal culture As System.Globalization.CultureInfo) As Object() _
                             Implements System.Windows.Data.IMultiValueConverter.ConvertBack
    Return CStr(value).Split(New Char() {" "c})
End Function
End Class

NameConverter implements the IMultiValueConverter interface. NameConverter takes the values from the individual bindings and stores them in the values object array. The order in which the Binding elements appear under the MultiBinding element is the order in which those values are stored in the array. The value of the ConverterParameter attribute is referenced by the parameter argument of the Converter method, which performs a switch on the parameter to determine how to format the name.

For the complete sample, see Implementing Parameterized MultiBinding Sample.

For another example of an IMultiValueConverter implementation, see Data Binding Demo.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0