В 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»), что бы я ни пытался.
Мне удалось сделать это, собрав большую строку из того, что мне нужно, но я бы хотел понять, чего мне не хватает.
Есть идеи?
Спасибо.