/// <summary> /// Returns a new <see cref="Binding"/> instance for the specified element and expression. /// </summary> /// <param name="attribute"></param> /// <returns></returns> public static Binding ForAttribute(XAttribute attribute) { // ignore empty attributes if (attribute == null || attribute.Value == null || attribute.Value == "") return null; var resolver = attribute.InterfaceOrDefault<EvaluationContextResolver>(); if (resolver == null) throw new DOMTargetEventException(attribute.Parent, Events.BindingException, "Missing EvaluationContextResolver interface."); var context = resolver.Context; if (context == null) throw new DOMTargetEventException(attribute.Parent, Events.BindingException, "Missing EvaluationContextResolver Context."); return new Binding(attribute.Parent, context, attribute.Value); }