Winfrom中資料的雙向繫結(使用INotifyPropertyChanged)
阿新 • • 發佈:2018-11-30
在WPF中新建專案是自動實現了INotifyPropertyChanged介面,用於資料繫結時非常的方便
在winfrom中也可以實現INotifyPropertyChanged介面
將需要繫結的欄位寫到一個類中,用這個類實現INotifyPropertyChanged介面
public class User : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) { var propertyChanged = this.PropertyChanged; if (propertyChanged != null) propertyChanged(this, new PropertyChangedEventArgs(propertyName)); } //這裡只繫結一個欄位 private string userID; public string UserID { get => userID; set { userID = value; OnPropertyChanged("UserID"); } } }
在Winfrom的介面程式碼中進行資料繫結\
User user = new User();
private void Login_Load(object sender, EventArgs e)
{
tBoxUserID.DataBindings.Add("Text", user,"UserID");
}
以上程式碼實現兩個功能:
①:當user.UserID的值發生變化時,實Winfrom介面上對應的TextBox的值也發生變化
②:Winfrom介面上的TextBox的值也發生變化時,user.UserID的值發生變化
實現了雙向繫結