Сломанная поверхность дизайна Silverlight в VS2008

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

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

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

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

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

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

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

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


person driAn    schedule 26.02.2009    source источник


Ответы (3)


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

<Style x:Key="RightAlignedCell" TargetType="{x:Type data:DataGridCell}">
    <Style.Setters>
        <Setter Property="HorizontalContentAlignment" Value="Right" />
    </Style.Setters>
</Style>
person Franci Penov    schedule 26.02.2009
comment
Это вызывает ошибку Недопустимое значение атрибута {x: Type data: DataGridCell} для свойства TargetType. - person driAn; 26.02.2009

Согласно FAQ MS silverlight, это известная ошибка, исправить ее невозможно.

person driAn    schedule 25.03.2009

Переместить объявление 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

person Community    schedule 01.06.2009