WPF MVVM下如何从MenuViewModel访问LogInViewModel内的Employee列表
WPF MVVM 跨ViewModel共享数据的实践记录
实际开发场景
- 开发者在学习使用WPF MVVM模式的过程中,遇到了跨视图模型访问内部变量的问题
- 项目中存在
LogInViewModel、MenuViewModel两个独立的视图模型类 LogInViewModel内部维护了从内存加载的Employee员工列表,用于用户点击登录按钮时,校验输入密码对应的员工是否真实存在- 开发需求要求
MenuViewModel也能够读取这个Employee列表,开发者最初没有掌握跨ViewModel的变量访问方法
最终采用的实现方案
- 新建名为
Database的静态类,作为全应用的公共数据统一存储容器 - 将原本存放在
LogInViewModel中的Employee列表调整为该静态类下的静态属性 - 调整完成后,任意ViewModel都可以直接通过静态类访问这个Employee列表,不需要在不同ViewModel实例之间手动传递引用
内容的提问来源于stack exchange,提问作者Alexei
相关产品推荐
相关产品推荐

