Сломанная 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, исправить это невозможно.