我看了一下Another Question,但是我得到的错误更具体。Blend无法显示Visual Studio 2010可以显示的设计时间数据
此示例数据使用视图模型,该视图模型没有默认的无参数构造函数,但它具有公共参数化的构造函数。
我相信设计时间数据使用反射,应该能够处理这个(因为它实际上并没有实例化类)。因此它让我很困惑,为什么在设计时出现以下错误:
“AccessDeniedViewModel”类型不包含任何可访问的构造函数。
我的XAML中包含设计时间数据的行是d:DataContext="{d:DesignData /SampleData/AccessDeniedViewModelSampleData.xaml}"
。我使用了Blend的'从类创建示例数据...'来生成这个数据文件。
但是,当我在Visual Studio 2010中打开此视图时,它完全能够将其与设计时间数据一起显示。
我真的不想仅仅在设计时使用无参数的构造函数,任何获得Blend中设计数据的方法都将非常感谢。
编辑:我还应该提到,绑定支持仍然存在,当我添加绑定到视图时,可用的属性被列出,就像它解析到正确的类型,只是无法实例化它。
http://www.vladhorby.com/wpblog/2010/05/14/designdata-support-for-silverlight-in-visual-studio-2010-and-blend-4/提供了一个示例,其中无参数构造函数不需要。我看不出为什么Visual Studio能够管理它,但不能混合。感谢您的建议:) – Lukazoid
那么你测试了吗?它没有无参数构造函数吗?你所指的页面和你的代码有什么区别? –
我已将该示例中的步骤应用于我的情况,它在Visual Studio中工作,但不在Blend中。 Blend抱怨缺乏一个可访问的构造函数。我能看到的唯一区别是我的视图模型是派生类。 – Lukazoid