XmlnsDefinitionAttribute в сочетании с x: Name приводит к ошибке компиляции при генерации кода - PullRequest
0 голосов
/ 28 июля 2010

У меня есть проблема с использованием атрибута XmlnsDefinition в сборке silverlight 4.

Вот контрольный пример:

В AssemblyInfo.cs проекта silverlight я добавляю следующее:

[assembly: XmlnsDefinition("urn:foo", "SilverlightApplication1")]
[assembly: XmlnsDefinition("urn:foo", "SilverlightApplication1.SomeNamespace")]

Я редактирую MainPage.xaml.cs и чтобы он выглядел так:

namespace SilverlightApplication1
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
        }
    }
}

namespace SilverlightApplication1.SomeNamespace
{
    public class SomeControl : ContentControl
    {
    }
}

Теперь в MainPage.xaml у меня есть следующее:

<UserControl x:Class="SilverlightApplication1.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    
    xmlns:foo="urn:foo">

    <Grid>
        <foo:SomeControl>
            <TextBlock Text="Hello World"/>
        </foo:SomeControl>
    </Grid>

</UserControl>

Это компилируется и работает нормально. Проблема возникает, когда я добавляю атрибут x: Name к тегу SomeControl.

Это не компилируется:

<foo:SomeControl x:Name="bar">
    <TextBlock Text="Hello World"/>
</foo:SomeControl>

Глядя на генерируемый файл .g.i.cs, элемент управления объявляется как

internal SomeControl bar;

В файле отсутствует либо оператор using, либо полное имя типа. Я также пробовал это в WPF и результаты такие же. Может кто-нибудь сказать мне, что, если что, я делаю не так?

1 Ответ

0 голосов
/ 20 июня 2011

У меня та же проблема. Судя по моим поискам, похоже, что в настоящее время это не поддерживается.

http://forums.silverlight.net/forums/t/84877.aspx

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/7e7a032a-dad3-4e02-9e5a-d73e346b75ed/

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