public ProtoInstruction EmptyElement <T>(NamespaceDeclaration namespaceDeclaration)
 {
     return(EmptyElement(typeof(T), namespaceDeclaration));
 }
        public ProtoInstruction InlineAttachableProperty <TParent>(string name, string value, NamespaceDeclaration namespaceDeclaration)
        {
            var type     = typeof(TParent);
            var xamlType = typeSource.GetByType(type);

            var member = xamlType.GetAttachableMember(name);

            return(new ProtoInstruction
            {
                Namespace = null,
                NodeType = NodeType.Attribute,
                XamlType = null,
                PropertyAttribute = member,
                PropertyAttributeText = value,
                Prefix = namespaceDeclaration.Prefix,
            });
        }
 public ProtoInstruction NonEmptyElement <T>(NamespaceDeclaration nsDecl = null)
 {
     return(Element(typeof(T), nsDecl, false));
 }
 public ProtoInstruction EmptyElement(Type type, NamespaceDeclaration nsDecl)
 {
     return(Element(type, nsDecl, true));
 }
 public ProtoInstruction NamespacePrefixDeclaration(NamespaceDeclaration ns)
 {
     return(NamespacePrefixDeclaration(ns.Prefix, ns.Namespace));
 }
 public ProtoInstruction ExpandedAttachedProperty <TParent>(string name, NamespaceDeclaration namespaceDeclaration)
 {
     return(ExpandedAttachedProperty(typeof(TParent), name, namespaceDeclaration));
 }
 private ProtoInstruction PropertyElement <T>(Expression <Func <T, object> > selector, NamespaceDeclaration namespaceDeclaration, bool isCollapsed)
 {
     return(PropertyElement(typeof(T), selector.GetFullPropertyName(), namespaceDeclaration, isCollapsed));
 }
 public ProtoInstruction NonEmptyPropertyElement(Type type, string memberName, NamespaceDeclaration namespaceDeclaration)
 {
     return(PropertyElement(type, memberName, namespaceDeclaration, isCollapsed: false));
 }
 public ProtoInstruction NonEmptyPropertyElement <T>(Expression <Func <T, object> > selector, NamespaceDeclaration namespaceDeclaration = null)
 {
     return(PropertyElement(selector, namespaceDeclaration, isCollapsed: false));
 }