Динамически загружать пользовательский элемент управления и пространство имен по умолчанию - PullRequest
1 голос
/ 22 декабря 2008

В 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»), что бы я ни пытался.

Мне удалось сделать это, собрав большую строку из того, что мне нужно, но я бы хотел понять, чего мне не хватает.

Есть идеи?

Спасибо.

1 Ответ

0 голосов
/ 22 декабря 2008

Из документов XNamespace здесь :

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

Просто добавьте его как XAttribute.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...