我已经构建了一个WCF模板服务,它与连接到我的数据库的EF进行对话(原始:讨论)。然后我有一个主要的应用程序,一个简单的WPF实现MVVM光。 我的主要应用程序是引用我的WCF服务并自动创建配置文件。
在我的ViewModel构造函数中,我正在调用我的WCF服务,以获取将绑定到视图的数据收集。
Toruble是这样做的,初始化为ViewModelLocator.MainStatic的Datacontext正在生成错误“无法创建”ViewModelLocator的实例“。
如果我从viewmodel中删除了服务调用,则错误消失但当然无法获取数据。
知道如何实现服务调用以便在MVVM轻量级工具包中填充集合吗? 你必须去的任何样品吗?
不幸的是,周围没有这样的例子。 并且可以得到它
谢谢你的帮助 哔叽
答案 0 :(得分:3)
总的来说,我认为这是因为你在设计时打电话。使用视图模型中的IsInDesignModeStatic
来区分运行时代码和设计时代码。在设计时代码中,我会手动添加一些数据,以便您更容易设计视图。
另请参阅this discussion以获取进一步的指导。
this post调用数据库的点在设计模式下都不起作用。
修改强>
Laurent还在博客上发表this topic。
答案 1 :(得分:2)
您可以尝试以下操作。
MainViewModel()
{
if(!IsInDesignMode)
{
//pull data from service
}
}