我是wpf的新手,我正在使用wpf for UI设计客户端 - 服务器应用程序 我有一个视图 - 视图模型,数据主义和通信模型 我的视图和视图模型将形成一个用户控件 以下是我的疑惑:
感谢名单
莎莉嘉
答案 0 :(得分:0)
您应该考虑使用存储库模式来访问您的项目列表。您的视图模型应该对此存储库的抽象(例如IPeopleRepository)起作用,您应该通过注入将此存储库的具体实现传递到您的viewmodel中(例如通过构造函数注入)。您的具体实现可以调用您的通信模型来检索项目列表。
通常,您的存储库将返回不特定于WPF的集合类型。您可能希望将此包装在viewmodel上的ObservableCollection中,以便通知UI该集合的更改。
每个viewmodel是否检索对此集合的新引用,或者它们是否都访问同一集合,将取决于您的用例,但只要该集合作为DataContext上的属性公开(通常是您的viewmodel),然后你就可以绑定到集合,从视图中显示和更新它。