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

动态加载用户控件和默认命名空间

  •  1
  • devMomentum  · 技术社区  · 17 年前

    在Silverlight中,如果要动态创建控件,则必须添加这样的命名空间(如 http://msdn.microsoft.com/en-us/library/cc189044(VS.95).aspx ):

    XNamespace xmlns = "http://schemas.microsoft.com/client/2007";
        XElement textBlock2 = new XElement(xmlns + "TextBlock",
            new XAttribute(XNamespace.Xmlns + "x", "http://schemas.microsoft.com/winfx/2006/xaml"),
            ...
            );
    

    我的问题是在自己的名称空间中有一个用户控件,所以我必须编写类似

    XNamespace myxmlns = "mynamespace";
    XElement myelem = new XElement(myxmlns + "MyCtrl", ...
    

    然后我可以像那样添加别名名称空间

    new XAttribute(XNamespace.Xmlns + "x", "http://schemas.microsoft.com/winfx")
    

    但我不知道如何添加默认名称空间。无论我尝试什么,我要么得到一个编译错误,要么得到一个运行时错误(“ag e解析器缺少默认名称空间”)。

    我成功地建立了一大串我需要的东西,但我想知道我缺少什么。

    有什么想法吗?

    谢谢。

    1 回复  |  直到 17 年前
        1
  •  0
  •   Bryant    17 年前

    XNamespace docs here :

    new XAttribute("xmlns", "http://http://www.adventure-works.com")
    

    只需将其作为一个xattribute添加。

    推荐文章