Mik*_*e Q 7 c# lifecycle binding winforms
我正在开发的项目非常庞大,我们开发了一个框架,可以轻松构建简单的UI屏幕.我们有两种基本类型:搜索(搜索参数+结果网格)和细节(一组编辑器,通常从一些模型对象填充).
该应用程序是所有C#.NET Winforms.
在细节中,我们有以下过程.
用户点击确定
这一切都适用于简单的东西,但在更复杂的情况下,我注意到上述方法可能并不是最顺利的.
上面提到的更复杂的情况是,细节表示模型对象,并且细节中嵌入了一个网格,其中包含可以添加和删除的"子"对象.通常,您希望启动子Detail并传入父模型对象,但此时它尚未完全填充/更新,因为只有在单击OK时才会发生.我发现自己有时会以恼人的方式解决这个问题,这引出了我以下问题.
在高级别,是细节屏幕的接受/最佳实践方法,就像我描述的那样,当控件更改时将值复制到模型对象,而不是等到单击确定?
如果是这样,在Winforms应用程序中,实现这一目标的最佳方法是什么?我发现有些文章提到Control.DataBindings但由于绑定时缺乏编译时安全性,因此它并不理想.我读过WPF有很好的绑定支持,但不幸的是,我没有使用WPF.
这可能有帮助:
演练:使用两个 Windows 窗体 DataGridView 控件创建主/详细信息窗体
http://msdn.microsoft.com/en-us/library/y8c0cxey.aspx