MVVMlight如何实现model层的数据变化使界面改变

北望天狼 2013-09-25 10:57:52
有没有用过mvvmlight的高手,告诉下怎么实现model层的数据变化让界面改变?
在model层有个string类型的属性log,会随时间变化,怎么实现view里面的对应textblock变化呢?View应该是绑定了VM层的属性的,那么是不是Model的变化要通知VM呢,怎么在mvvmlight里实现呢?
...全文
526 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
信丰小飞鱼 2013-10-15
  • 打赏
  • 举报
回复 1
当客户端绑定一个数据模型以后,数据模型变化以后可以自动通知客户端更新界面显示,这就是INotifyPropertyChanged接口要做的工作。INotifyPropertyChanged 接口用于向客户端(通常是执行绑定的客户端)发出某一属性值已更改的通知。 private TreeModel treeItem; public TreeModel TreeItem { get { return treeItem; } set { if (treeItem == value) return; treeItem = value; this.RaisePropertyChanged(() => this.TreeItem); } } SelectedItem="{Binding Path=TreeItem,Mode=TwoWay}">
zx5234104 2013-10-15
  • 打赏
  • 举报
回复
1. model实现INotifyPropertyChanged接口 2. model在viewmodel的实例化对象通过property暴露出来 3. view的textblock绑定的path就是“model对应的属性名称.需要绑定的属性字段” 不知道俺说清楚没有。。 - -~将就看看~
北望天狼 2013-10-15
  • 打赏
  • 举报
回复
最后我只能使用个静态事件从model层通知上来,可是我觉得这么实现不正确,谁知道正确的方法呢?
北望天狼 2013-09-30
  • 打赏
  • 举报
回复
嗯,如果是个list我知道转为observablecollection,可是这是个string,我就不知道怎么办了
E次奥 2013-09-29
  • 打赏
  • 举报
回复
用这个集合ObservableCollection<T>
E次奥 2013-09-27
  • 打赏
  • 举报
回复
一句两句解释不清楚啊,主要是绑定和Command的问题
北望天狼 2013-09-27
  • 打赏
  • 举报
回复
能详细解释下吗
北望天狼 2013-09-26
  • 打赏
  • 举报
回复
可是我绑定的是vm层的,model层的数据怎么通知呢?
hudsonhuang 2013-09-25
  • 打赏
  • 举报
回复
mvvm都没有搞清楚吧。。。
申江渔夫 2013-09-25
  • 打赏
  • 举报
回复
"会随时间变化"这一操作放在viewmodel层不就可以了吗。
知擎物联 2013-09-25
  • 打赏
  • 举报
回复
绑定,通知 INotifyPropertyChanged Binding
北望天狼 2013-09-25
  • 打赏
  • 举报
回复
...这个随时间变化是另外的程序控制的,我的程序只负责获取显示啊

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧