Files
docs-desktop/dotnet-desktop-guide/framework/wpf/data/how-to-convert-bound-data.md
T
Andy (Steve) De George e9fcf43083 Merge pull request #1135 from dotnet/adegeo-links
Correct .NET Framework links that pointed to old .NET 5 URLs
2021-08-11 12:04:34 -07:00

2.4 KiB

title, ms.date, dev_langs, helpviewer_keywords, ms.assetid
title ms.date dev_langs helpviewer_keywords ms.assetid
How to: Convert Bound Data 03/30/2017
csharp
vb
converting [WPF], bound data
data binding [WPF], converting bound data
binding data [WPF], converting bound data
b00aaa19-c6df-4c3b-a9fd-88a0b488df2b

How to: Convert Bound Data

This example shows how to apply conversion to data that is used in bindings.

To convert data during binding, you must create a class that implements the xref:System.Windows.Data.IValueConverter interface, which includes the xref:System.Windows.Data.IValueConverter.Convert%2A and xref:System.Windows.Data.IValueConverter.ConvertBack%2A methods.

Example

The following example shows the implementation of a date converter that converts the date value passed in so that it only shows the year, the month, and the day. When implementing the xref:System.Windows.Data.IValueConverter interface, it is a good practice to decorate the implementation with a xref:System.Windows.Data.ValueConversionAttribute attribute to indicate to development tools the data types involved in the conversion, as in the following example:

[!code-csharpDataBindingLab#18] [!code-vbDataBindingLab#18]

Once you have created a converter, you can add it as a resource in your [!INCLUDETLA#tla_xaml] file. In the following example, src maps to the namespace in which DateConverter is defined.

[!code-xamlDataBindingLab#15]

Finally, you can use the converter in your binding using the following syntax. In the following example, the text content of the xref:System.Windows.Controls.TextBlock is bound to StartDate, which is a property of an external data source.

[!code-xamlDataBindingLab#17]

The style resources referenced in the above example are defined in a resource section not shown in this topic.

See also