public override void WriteUnknownTagEnd(XamlUnknownTagEndNode xamlUnknownTagEndNode) { NamespaceMapEntry[] namespaceMaps = XamlTypeMapper.GetNamespaceMapEntries(xamlUnknownTagEndNode.XmlNamespace); bool localTag = namespaceMaps != null && namespaceMaps.Length == 1 && namespaceMaps[0].LocalAssembly; if (localTag && !_pass2) { // if local complex property bail out now and handle in 2nd pass when TypInfo is available int lastIndex = xamlUnknownTagEndNode.LocalName.LastIndexOf(MarkupCompiler.DOTCHAR); if (-1 == lastIndex) { _compiler.EndElement(_pass2); } } else { base.WriteUnknownTagEnd(xamlUnknownTagEndNode); } }
/// <summary> /// Write end of an unknown tag /// </summary> /// <remarks> /// For template parsing, the 'Set' tag is an unknown tag, but this will map to a /// Trigger set command. Store this as an element end record here. /// </remarks> public override void WriteUnknownTagEnd(XamlUnknownTagEndNode xamlUnknownTagEndNode) { if (_inSetterDepth == xamlUnknownTagEndNode.Depth) { XamlElementEndNode elementEnd = new XamlElementEndNode( xamlUnknownTagEndNode.LineNumber, xamlUnknownTagEndNode.LinePosition, xamlUnknownTagEndNode.Depth); base.WriteElementEnd(elementEnd); _inSetterDepth = -1; } else { #if PBTCOMPILER NamespaceMapEntry[] namespaceMaps = XamlTypeMapper.GetNamespaceMapEntries(xamlUnknownTagEndNode.XmlNamespace); bool localTag = namespaceMaps != null && namespaceMaps.Length == 1 && namespaceMaps[0].LocalAssembly; if (!localTag || !IsLocalPass1) { #endif base.WriteUnknownTagEnd(xamlUnknownTagEndNode); #if PBTCOMPILER } #endif } _styleModeStack.Pop(); }
/// <summary> /// Write end of an unknown tag /// </summary> public virtual void WriteUnknownTagEnd(XamlUnknownTagEndNode xamlUnknownTagEndNode) { // The default action for unknown tags is throw an exception. This should never // get here unless there is a coding error, since it would first hit // WriteUnknownTagStart ThrowException(SRID.ParserUnknownTag , "???", xamlUnknownTagEndNode.LineNumber, xamlUnknownTagEndNode.LinePosition); }
/// <summary> /// Write end of an unknown tag /// </summary> /// <remarks> /// For style parsing, the 'Set' tag is an unknown tag, but this will map to a /// Trigger set command. Store this as an element end record here. /// </remarks> public override void WriteUnknownTagEnd(XamlUnknownTagEndNode xamlUnknownTagEndNode) { #if PBTCOMPILER NamespaceMapEntry[] namespaceMaps = XamlTypeMapper.GetNamespaceMapEntries(xamlUnknownTagEndNode.XmlNamespace); bool localTag = namespaceMaps != null && namespaceMaps.Length == 1 && namespaceMaps[0].LocalAssembly; if (!localTag || !IsLocalPass1) { #endif base.WriteUnknownTagEnd(xamlUnknownTagEndNode); #if PBTCOMPILER } #endif }