代码之家  ›  专栏  ›  技术社区  ›  CannibalSmith

当我使用ParserContext时,为什么XamlReader抛出?

  •  2
  • CannibalSmith  · 技术社区  · 15 年前

    这样做有效:

    XamlReader.Parse("<Pig xmlns=\"clr-namespace:Farm;assembly=Farm\"/>");
    

    这个扔

    var context = new ParserContext();
    context.XmlnsDictionary.Add("", "clr-namespace:Farm;assembly=Farm");
    XamlReader.Parse("<Pig/>", context);
    

    Farm是调用应用程序。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Quartermeister    15 年前

    您所拥有的将在.NET4.0中工作,但不幸的是在.NET3.5中无法工作。尝试改用XamlTypeMapper:

    var context = new ParserContext();
    context.XamlTypeMapper = new XamlTypeMapper(new string[] { });
    context.XamlTypeMapper.AddMappingProcessingInstruction("", "Farm", "Farm");
    XamlReader.Parse("<Pig/>", context);
    

    var context = new ParserContext();
    context.XamlTypeMapper = new XamlTypeMapper(new string[] { });
    context.XamlTypeMapper.AddMappingProcessingInstruction("Foo", "Farm", "Farm");
    context.XmlnsDictionary.Add("a", "Foo");
    XamlReader.Parse("<a:Pig/>", context);
    
    推荐文章