一种方法是使用数据绑定。您需要将对象 SaveIt 的属性添加到文本框数据绑定,当用户在文本框中写入时,这会自动填充您的属性。
您可以在每个属性的表单的构造函数中添加它。
SaveIt saveIt = new SaveIt();
textBoxFirstName.DataBindings.Add("Text", saveIt.FirstName, "FirstName");
textBoxLastName.DataBindings.Add("Text", saveIt.LastName, "LastName");
并且您需要在您的类 SaveIt 中实现接口 INotifyPropertyChanged,如下所示:
public class SaveIt : INotifyPropertyChanged {
public event PropertyChangedEventHandler PropertyChanged;
private string _firstName = string.Empty;
private string _lastName = string.Empty;
public string FirstName {
get { return _firstName; }
set {
_firstName = value;
OnPropertyChanged("FirstName");
}
}
public string LastName {
get { return _lastName; }
set {
_lastName = value;
OnPropertyChanged("LastName");
}
}
private void OnPropertyChanged(string propertyName) {
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
使用它,您无需手动填写所有属性
然后可以使用 Casperah 的方式来序列化 SaveIt 对象