Binding.Converter property

This topic has not yet been rated - Rate this topic

Gets or sets the converter object that is called by the binding engine to modify the data as it is passed between the source and target, or vice versa.

Syntax


public IValueConverter Converter { get; set; }


<Binding Converter="converterReference"/>

XAML Values

converterReference

A reference to an existing object that implements IValueConverter and functions as a converter. Typically the object is created in a ResourceDictionary and given a key, then referenced by using the StaticResource markup extension. For example: <Binding Converter="{StaticResource myConverter}" .../>

Property value

Type: IValueConverter

The IValueConverter object that modifies the data.

Remarks

Create a converter by implementing the IValueConverter interface and implementing the Convert and ConvertBack methods. Note that these methods now take language strings as parameters instead of CultureInfo objects as they do in the Windows Presentation Foundation (WPF) and Microsoft Silverlight.

Examples

To use your converter in a binding, first create an instance of your converter class. The following example shows this as a resource in a XAML file.


<UserControl.Resources>
  <local:DateToStringConverter x:Key="Converter1"/>
</UserControl.Resources>


Then set the Converter property for the binding to that instance.


<TextBlock Grid.Column="0" Margin="5,0"
  Text="{Binding Month, Converter={StaticResource Converter1}}"/>


Implement the converter code as follows.


// Custom class implements the IValueConverter interface.
public class DateToStringConverter : IValueConverter
{

    #region IValueConverter Members

    // Define the Convert method to change a DateTime object to 
    // a month string.
    public object Convert(object value, Type targetType, 
        object parameter, string language)
    {
        // The value parameter is the data from the source object.
        DateTime thisdate = (DateTime)value;
        int monthnum = thisdate.Month;
        string month;
        switch (monthnum)
        {
            case 1:
                month = "January";
                break;
            case 2:
                month = "February";
                break;
            default:
                month = "Month not found";
                break;
        }

        // Return the month value to pass to the target.
        return month;
    }

    // ConvertBack is not implemented for a OneWay binding.
    public object ConvertBack(object value, Type targetType, 
        object parameter, string language)
    {
        throw new NotImplementedException();
    }

    #endregion
}


Requirements

Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Namespace

Windows.UI.Xaml.Data
Windows::UI::Xaml::Data [C++]

Metadata

Windows.winmd

See also

Binding
XAML data binding sample
Data binding overview

 

 

Build date: 12/4/2012

Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.