目前各種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類一次,當實例中對應的屬性發生變動時,綁定的屬性或者說調用方將自動獲取變動通知。
新聞熱點
疑難解答