/// <inheritdoc/> public override void Mutate(UltravioletContext uv, Object instance, Object value, UvmlInstantiationContext context) { var dobj = instance as DependencyObject; if (dobj == null) { return; } var expression = ProcessPrecomputedValue <String>(value, context); if (expression == null) { throw new UvmlException(PresentationStrings.InvalidBindingExpression.Format("(null)")); } var compiled = context.GetCompiledBindingExpression(dpropID.PropertyType, expression); if (compiled == null) { throw new UvmlException(PresentationStrings.CompiledExpressionNotFound.Format(expression)); } var fmtString = BindingExpressions.GetBindingFormatStringPart(expression); if (fmtString != null) { dobj.BindValue(dpropID, context.DataSourceType, "{{" + compiled.Name + "}}[" + fmtString + "]"); } else { dobj.BindValue(dpropID, context.DataSourceType, "{{" + compiled.Name + "}}"); } }