Сломанная Silverlight Design-Surface в VS2008

В VisualStudio 2008 поверхность дизайна просто пуста, так как я добавил этот стиль в App.xaml:

    <Style x:Key="RightAlignedCell" TargetType="data:DataGridCell">
        <Style.Setters>
            <Setter Property="HorizontalContentAlignment" Value="Right" />
        </Style.Setters>
    </Style>

и добавив это обязательное пространство имен вверху, чтобы сделать данные: решаемыми

xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"

При запуске приложения Silverlight все работает нормально. Однако поверхность проекта пуста, и я получаю эту ошибку при редактировании xaml:

Недопустимые данные значения атрибута:DataGridCell для свойства TargetType

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

Обновление: также, когда я перемещаю стиль из App.xaml в Page.xaml, дизайнер снова работает.. Есть идеи?

3 ответа

Переместить объявление xmlns в словарь ресурсов. Как это: <ResourceDictionary xmlns:myconverters="clr-namespace:MyCustomConverters;assembly=MyCustomConverters"> ... </ResourceDictionary>

Пример можно найти здесь: blog.andrew-veresov.com/post/Silverlight-20-usage-of-the-converters-from-external-assembly-in-appxaml.aspx

Вы пробовали это?

<Style x:Key="RightAlignedCell" TargetType="{x:Type data:DataGridCell}">
    <Style.Setters>
        <Setter Property="HorizontalContentAlignment" Value="Right" />
    </Style.Setters>
</Style>

Похоже, это известная ошибка в соответствии с часто задаваемыми вопросами о MS silverlight, исправить это невозможно.

Другие вопросы по тегам