/// <summary> /// /// </summary> /// <param name="reader"></param> /// <returns></returns> public static IXamlNode Parse(TextReader reader) { if (null == reader) { throw new ArgumentNullException(nameof(reader)); } using (var tokenizer = new XamlTokenizer(reader)) { var context = new XamlParsingContext(); // var root = new XamlRootNode(); // var stack = new Stack<XamlNode>(); // stack.Push(root); try { var parser = new XamlParser(tokenizer); parser.Parse(context); context.ValidateDocument(new XamlDocumentValidator()); } catch (Exception exception) { // var position = tokenizer.GetSourcePosition(); throw new XamlParsingException(); } return context.DocumentRoot; } }
private void Parse(XamlParsingContext context) { string prefix = null; string name = null; var state = ParserState.Begin; var on = true; while (on) { switch (state) { case ParserState.Begin: break; } } }