public static object EvaluateObjectValue(object input) { var be = input as BindingExpression; var binding = input as Binding ?? be.Return(b => b.ParentBinding); return(binding != null?BindingEvaluator.EvaluateBinding(binding) : input); }