转换器的ConvertBack总是将数据转换为适合目标对象的值。转换器负责处理异常(在异常的情况下,返回原始值,这样绑定框架也会意识到它是无效值)。
public object ConvertBack(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var objTypeConverter = System.ComponentModel.TypeDescriptor.GetConverter(targetType);
object objReturnValue = value;
if (objTypeConverter.CanConvertFrom(value.GetType())) {
try {
objReturnValue = objTypeConverter.ConvertFrom(value.ToString().Replace("$", ""));
}
catch( FormatException ) { }
}
return objReturnValue;
}