1. 程式人生 > >Winfrom中資料的雙向繫結(使用INotifyPropertyChanged)

Winfrom中資料的雙向繫結(使用INotifyPropertyChanged)

在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的值發生變化
實現了雙向繫結