Created
August 24, 2015 13:25
-
-
Save iambacon/7fd73935e49a3346f897 to your computer and use it in GitHub Desktop.
Value converter that accepts multiple converters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// <summary> | |
/// Value converter group. | |
/// Takes multiple value converters. | |
/// </summary> | |
public class ValueConverterGroup : List<IValueConverter>, IValueConverter | |
{ | |
/// <summary> | |
/// Modifies the source data before passing it to the target for display in the UI. | |
/// </summary> | |
/// <param name="value">The source data being passed to the target.</param> | |
/// <param name="targetType">The type of the target property. This uses a different type depending on whether you're programming with Microsoft .NET or Visual C++ component extensions (C++/CX). See Remarks.</param> | |
/// <param name="parameter">An optional parameter to be used in the converter logic.</param> | |
/// <param name="language">The language of the conversion.</param> | |
/// <returns>The value to be passed to the target dependency property.</returns> | |
public object Convert(object value, Type targetType, object parameter, string language) | |
{ | |
return this.Aggregate(value, (current, converter) => converter.Convert(current, targetType, parameter, language)); | |
} | |
/// <summary> | |
/// Modifies the target data before passing it to the source object. This method is called only in TwoWay bindings. | |
/// </summary> | |
/// <param name="value">The target data being passed to the source.</param> | |
/// <param name="targetType">The type of the target property, specified by a helper structure that wraps the type name.</param> | |
/// <param name="parameter">An optional parameter to be used in the converter logic.</param> | |
/// <param name="language">The language of the conversion.</param> | |
/// <returns>The value to be passed to the source object.</returns> | |
public object ConvertBack(object value, Type targetType, object parameter, string language) | |
{ | |
throw new NotImplementedException(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment