首页 新闻 会员 周边 捐助

wpf使用mvvm模式

0
悬赏园豆:10 [已解决问题] 解决于 2014-04-24 08:40

在wpf中使用ViewModel的时候,ViewModel在初始化化的时候是要参数的。而这个参数是parent界面中的值,好的哥哥们怎么传值呢

someOneHan的主页 someOneHan | 初学一级 | 园豆:179
提问于:2014-04-23 16:09
< >
分享
最佳答案
0

我看你要把parent界面中的值绑定到一个公共的ViewModel的属性里面,然后你的ViewModel去访问

收获园豆:10
xgdw | 初学一级 |园豆:4 | 2014-04-23 16:23

那么说这个ViewMode就是一个全局的意思么。我看看网上还有的说存在之一Dictionary里面,用来在自己的ViewModel中使用的。那种方法要好一点?

someOneHan | 园豆:179 (初学一级) | 2014-04-23 16:28

@someOneHan: 也有用到自己定义的Dictionary,用来保存全局使用的变量.两种方法我都有用,看实际需要,保存到Dictionary你要知道Key,绑定到公共的ViewMode,你只要保证这个ViewMode是单例,或者让它是静态类就可以了

xgdw | 园豆:4 (初学一级) | 2014-04-23 16:37

@Smok: 对了,我把单例给忘了,这样我感觉正好,谢谢了啊

someOneHan | 园豆:179 (初学一级) | 2014-04-23 16:38
其他回答(2)
0

如果我遇到这种问题,一般会用一个全局类来管理这些需要被共享到的对象或者数据,比如将parent窗体的对象作为该类的成员,然后在viewModel中通过该类直接访问

andy1987 | 园豆:490 (菜鸟二级) | 2014-04-23 16:38

那岂不是说我要在窗体中要实例化一个主窗体么,其实我只要很少的数据,就是一个string

支持(0) 反对(0) someOneHan | 园豆:179 (初学一级) | 2014-04-23 16:44

@someOneHan: 并不需要,因为前面说了这是个共享类,在APP时候就应该被初始化了,希望我理解的跟你的问题是一样的~ 

支持(0) 反对(0) andy1987 | 园豆:490 (菜鸟二级) | 2014-04-24 18:03
0

在xaml里绑定 xx="{Binding model.A}"

CS this.DataContext= new ViewModel();

ViewModel一般是定义Command命令,聚合Model对象,指定对象方法

实例话model

数据的话一般在Model处理

iEvent | 园豆:529 (小虾三级) | 2014-04-23 17:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册