2008-12-22 142 views
1

在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 PARSER MISSING DEFAULT NAMESPACE”)。

我成功地完成了构建我所需要的一大串字符串,但我想了解我错过了什么。

有什么想法?

谢谢。

回答

0

XNamespace docs here

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

只需将其添加为XAttribute。

+0

谢谢,太简单了......我喜欢Linq到Xml,但是XNamespace对我来说并不那么直观。 – devMomentum 2008-12-25 21:25:35