2021-11-22 WinFrom面试题 Form中的控件与数据可以实现双向绑定吗?
Posted 微软MVP Eleven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-11-22 WinFrom面试题 Form中的控件与数据可以实现双向绑定吗?相关的知识,希望对你有一定的参考价值。
使用DataBing可以实现自动绑定,为Form定义一个实体模型,将控件的属性与实体模型中的属性绑定在一起,当页面控件的属性值改变时,模型中的属性值自动更新,不需要一一再去获取;当模型中的属性值修改时,控件的属性值也会自动更新。
模型基类,实现INotifyPropertyChanged接口,可以通知客户端属性性已更改
public class ViewModelBase : INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged([CallerMemberName] string propertyName="")
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
页面的模型:
Public class UserInfo:ViewModelBase
string userName;
public string UserName
getreturn userName;
set
userName= value;
OnPropertyChanged();
int age;
public int Age
getreturn age;
set
age= value;
OnPropertyChanged();
Form页面 控件绑定:
Form1_Load事件处理程序:
UserInfo userInfo=null;
private void Form1_Load(object sender, EventArgs e)
userInfo=new UserInfo ();
txtUserName.DataBindings.Add(“Text”, userInfo, “UserName”);
txtUserAge.DataBindings.Add(“Text”, userInfo, “Age”);
以上是关于2021-11-22 WinFrom面试题 Form中的控件与数据可以实现双向绑定吗?的主要内容,如果未能解决你的问题,请参考以下文章
2021-11-22 WinFrom面试题 Winform中,控件开发分为哪些?
2021-11-22 WinFrom面试题 如何在Form加载时,动态添加控件到Form中?
2021-11-22 WinFrom面试题 怎样将一个Form显示在Panel之中?
2021-11-22 WinFrom面试题 在Form中,实现无边框窗体拖动功能?