目前各種MVVM框架眼花繚亂,通過vm綁定讓UI控制更簡單便捷。.net下可通過System.ComponentModel中的INotifyPRopertyChanged接口實(shí)現(xiàn)模型成員的狀態(tài)監(jiān)控,配合屬性綁定讓代碼更簡潔可觀。
1、將需綁定的屬性抽象成類,這邊按鈕標(biāo)題為例。模型繼承自INotifyPropertyChanged并實(shí)現(xiàn)其事件成員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、在調(diào)用類中實(shí)例化并初始化Model類一次,當(dāng)實(shí)例中對應(yīng)的屬性發(fā)生變動時(shí),綁定的屬性或者說調(diào)用方將自動獲取變動通知。
新聞熱點(diǎn)
疑難解答