d: проблема DesignData, Visual Studio 2010 не может быть собрана после добавления образцов данных проектирования с помощью Expression Blend 4 - PullRequest
6 голосов
/ 21 мая 2010

VS 2010 решение и Silverlight проект строится нормально, тогда:

  1. Я открываю представление MyView.xaml в Expression Blend 4
  2. Добавить пример данных из класса (я использую мой класс, определенный в том же проекте)

после того, как я добавляю новые данные о дизайне образца с помощью Expression Blend 4, все выглядит хорошо, вы видите, что добавленные данные образца в EB 4 прекрасно, вы также видите данные в конструкторе VS 2010.

Закройте EB 4, и следующая сборка VS 2010 выдаст мне следующие ошибки:

 Error 7 XAML Namespace http://schemas.microsoft.com/expression/blend/2008 is not resolved. C:\Code\source\...myview.xaml

и:

Error 12 Object reference not set to an instance of an object. ... TestSampleData.xaml

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

Однако это пространство имен и сам класс существуют в одном проекте!

Если я удаляю данные дизайна из MyView.xaml:

d:DataContext="{d:DesignData /SampleData/TestSampleData.xaml}"

он прекрасно строится и пространство имен в TestSampleData.xaml распознается на этот раз ?? а затем, если добавить:

d:DataContext="{d:DesignData /SampleData/TestSampleData.xaml}" 

Я снова вижу в образце данных дизайнера VS 2010, но следующая сборка заканчивается неудачей, и я снова вижу, что студия не может найти пространство имен в моем TestSampleData.xaml, содержащем образцы данных.

Этот цикл сводит меня с ума. Я что-то здесь упускаю, не возможно ли, чтобы ваш класс определял данные образца проектирования в том же проекте, где у вас есть представление MyView.xaml ??

веселит Валько

Ответы [ 2 ]

6 голосов
/ 10 сентября 2010

Я знаю, что это старый вопрос, но есть ли в вашем xaml строка mc: Ignorable = "d"? Без этой строки вы получите эту ошибку.

0 голосов
/ 22 ноября 2012

Добавить это пространство имен

xmlns:SampleData="clr-namespace:Expression.Blend.SampleData.TestSampleData"

Добавить этот ресурс в словарь ресурсов

<SampleData:TestSampleData x:Key="TestSampleData" d:IsDataSource="True"/>

Ссылка, как это в вашем xaml

d:DataContext="{Binding Source={StaticResource TestSampleData}}"

Я понимаю, что это старый вопрос, но я надеюсь, что это кому-то поможет.

...