VS 2010解决方案和Silverlight项目构建正常,然后:
在使用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视图的同一个项目中定义样本设计数据?
欢呼声 Valko
答案 0 :(得分:6)
我知道这是一个古老的问题,但是你的xam中是否有行mc:Ignorable =“d”?如果没有这一行,您将收到此错误。
答案 1 :(得分:0)
添加此命名空间
xmlns:SampleData="clr-namespace:Expression.Blend.SampleData.TestSampleData"
将此资源添加到资源字典
<SampleData:TestSampleData x:Key="TestSampleData" d:IsDataSource="True"/>
在你的xaml
中像这样引用d:DataContext="{Binding Source={StaticResource TestSampleData}}"
我意识到这是一个古老的问题,但我希望这有助于某人。