首页 > 学院 > 开发设计 > 正文

.net下Observable Object的实现

2019-11-11 03:06:13
字体:
来源:转载
供稿:网友

目前各种MVVM框架眼花缭乱,通过vm绑定让UI控制更简单便捷。.net下可通过System.ComponentModel中的INotifyPRopertyChanged接口实现模型成员的状态监控,配合属性绑定让代码更简洁可观。

1、将需绑定的属性抽象成类,这边按钮标题为例。模型继承自INotifyPropertyChanged并实现其事件成员PropertyChanged。PropertyChanged将在公共属性的set访问器中使用。

public class DemoViewModel : INotifyPropertyChanged    {        public event PropertyChangedEventHandler PropertyChanged;        string _btnTitle;        public DemoViewModel()        {        }        public string BtnTitle        {            get            {                return _btnTitle;            }            set            {                if (_btnTitle != value)                {                    _btnTitle = value;                    if(PropertyChanged != null)                    {                        //将属性名称这边为BtnTitle传入事件                        PropertyChanged(this, new PropertyChangedEventArgs("BtnTitle"));                    }                }            }        }    }

2、在调用类中实例化并初始化Model类一次,当实例中对应的属性发生变动时,绑定的属性或者说调用方将自动获取变动通知。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表