当前位置:编程学习 > C#/ASP.NET >>

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

有没有用过mvvmlight的高手,告诉下怎么实现model层的数据变化让界面改变?
在model层有个string类型的属性log,会随时间变化,怎么实现view里面的对应textblock变化呢?View应该是绑定了VM层的属性的,那么是不是Model的变化要通知VM呢,怎么在mvvmlight里实现呢? --------------------编程问答-------------------- "会随时间变化"这一操作放在viewmodel层不就可以了吗。 --------------------编程问答-------------------- mvvm都没有搞清楚吧。。。 --------------------编程问答-------------------- ...这个随时间变化是另外的程序控制的,我的程序只负责获取显示啊 --------------------编程问答-------------------- 绑定,通知
INotifyPropertyChanged
Binding --------------------编程问答-------------------- 可是我绑定的是vm层的,model层的数据怎么通知呢? --------------------编程问答-------------------- 能详细解释下吗 --------------------编程问答-------------------- 一句两句解释不清楚啊,主要是绑定和Command的问题 --------------------编程问答-------------------- 用这个集合ObservableCollection<T> --------------------编程问答-------------------- 嗯,如果是个list我知道转为observablecollection,可是这是个string,我就不知道怎么办了 --------------------编程问答-------------------- 最后我只能使用个静态事件从model层通知上来,可是我觉得这么实现不正确,谁知道正确的方法呢? --------------------编程问答-------------------- 1. model实现INotifyPropertyChanged接口
2. model在viewmodel的实例化对象通过property暴露出来
3. view的textblock绑定的path就是“model对应的属性名称.需要绑定的属性字段”

不知道俺说清楚没有。。 - -~将就看看~ --------------------编程问答-------------------- 当客户端绑定一个数据模型以后,数据模型变化以后可以自动通知客户端更新界面显示,这就是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}">
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,