我有个窗体上面有很多TextBox 控件,在界面初始化的时候,我绑定model的值,当我点关闭窗体的时候,如果 TextBox里面的值有变动我就提示是否需要保存,除了一个个的判断TextBox 控件的值与MOdel的值是否一样,由于控件比较多,这样判断会出现很多if ,有没有好的办法实现这个效果?
可以使用观察者模式,当数据改变之后,设置一个标志,退出时检查该标志。
将View(UI部分)跟你的moel绑定,同时支持属性值变更通知,WPF有相关接口直接支持,winfrom也有类似的第三方库支持
个人觉得,在绑定数据完成后,利用遍历this.Controls的方式,将控件名和控件值存入dictionary<string,string>类似的数据结构,点击关闭时,同样的方式遍历,与保存的值校对。