我的Winforms编码方法是否过时?

我正在开发的这个项目非常庞大,我们有一个框架可以轻松构建简单的UI界面。 我们有两种基本类型:搜索(搜索参数+结果网格)和细节(一组通常由某个模型对象填充的编辑器)。

该应用程序是所有C#.NET Winforms。

在细节中我们有以下过程。

  • 加载 - 根据适当的模型对象填充编辑控件。 在显示细节之前调用
  • 用户点击确定

  • 验证 - 验证细节以确保一切都一致
  • 接受 - 将更新的控制值复制回模型中
  • 这一切都适用于简单的东西,但在更复杂的情况下,我注意到上面的方法可能不是最流畅的。

    上面提到的更复杂的情况是当一个Detail表示一个模型对象时,并且在Detail中嵌入了一个网格,该网格包含可以添加和删除的“子”对象。 通常,您希望启动子细节并传入父模型对象,但此时它尚未完全填充/最新,因为只有在单击“确定”时才会发生此问题。 我发现自己正在以一种令人讨厌的方式来解决这个问题,这有时会导致我提出以下问题。

    在高层次上,细节屏幕的接受/最佳实践方法就像我描述的那样,当控件更改时将值复制到模型对象,而不是等到“确定”被点击后才显示。

    如果是这样,在Winforms应用程序中,实现此目的的最佳方法是什么? 我发现了一些提到Control.DataBindings文章,但它并不理想,因为绑定缺乏编译时安全性。 我读过WPF有很好的绑定支持,但不幸的是,我没有使用WPF。


    对于Winforms,我建议你看一下Model-View-Presenter模式。 http://msdn.microsoft.com/en-us/magazine/cc188690.aspx


    这可能有助于:

    演练:使用两个Windows窗体DataGridView控件创建主/明细窗体

    http://msdn.microsoft.com/en-us/library/y8c0cxey.aspx

    链接地址: http://www.djcxy.com/p/4965.html

    上一篇: Is my approach to Winforms coding old

    下一篇: How to handle large images in matlab without running out of memory?