- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在重构一个 WinForms (.NET 4) 应用程序,它使用 TabControl 来包含一个 UserControl——UserControl 在每个 TabPage 中实例化,最终结果是每个选项卡中的编辑器。这些正在编辑一组项目,这些项目最终会输入到整个表单正在编辑的对象中。
作为示例类结构:
class School
string Name
string Address
Course
s,每个都有几个合适的字段( Department
、 Name
等)Course
es,而父 Form 处理
School
信息。
School
模型正在处理它的计算,但它需要到达类(class)的演示者。
最佳答案
我如何处理类似情况是父演示者应该了解子演示者(作为构造函数依赖项)。
每个子演示者都有自己的观点,所以在父演示者中,我的逻辑类似于:
初始化()
- 初始化父级
- 在每个子演示者上调用 initialize(这是为了获取除主要显示的数据之外的所有必要数据。例如,如果您有发票演示者,如果您有客户组合框,则需要从某个地方获取客户集合,以便您可以更改此发票)
- 将 subview 嵌入到父 View 中(父 View 通常是一个表单,其中 subview 是用户控件)
然后在那之后,通常在加载父级时,使用一些 LoadXXX 方法,我也加载子级。在您的示例中,它类似于
schoolPresenter.LoadSchool(学校)
这将依次加载所有演示者的数据,例如加载带有学校详细信息的家长控件,将类(class)集合传递给类(class)演示者等...
有人认为我注意到这样做很好,就是在每个演示者上都有一个 Refresh() 方法,它基本上知道如何根据当前状态加载自己。也许你不能在父演示者上有这样的方法,但简单的演示者像这样工作得很好,所以这意味着在 LoadSchool 方法中你可以有类似的东西
CoursePresenter.Courses = school.Courses;
coursePresenter.Refresh();
关于.net - 带有 WinForms 和 UserControls 集合的 Humble View/MVP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9084406/
我一直在使用humble-video在直播项目中将 flv 转换为 mp4。我已经意识到使用 top 命令查看时,java 进程(其中正在运行简陋的视频代码)的内存使用量总是在增加。 之后我更改了谦虚
你好,我用的是https://github.com/artclarke/humble-video从视频中获取缩略图。 到目前为止,我已经成功地通过以下方法从视频中拍摄了快照。 private stat
我想知道简陋的 bundle 捐赠系统是如何运作的。 https://www.humblebundle.com/ 他们怎么知道在本周末,有多少钱捐给了谁? 我正在考虑如何在 js+php 中重新创建它
我正在阅读 an article by Dino Esposito on how to test AsyncConrollers in ASP.NET MVC并且在那里他使用了“不起眼的对象”模式,但
关于在创建 GUI 时将 View 与逻辑分离的问题,我有很多问题要发布。 以下是我将使用“简明对话框”方法为具有标签和按钮的简单对话框执行的操作的最小示例。按下按钮应该会在标签上显示一些文本。我使用
我正在重构一个 WinForms (.NET 4) 应用程序,它使用 TabControl 来包含一个 UserControl——UserControl 在每个 TabPage 中实例化,最终结果是每
Humble Bundle 已开始要求用户通过 Steam 的 OpenID 身份验证登录,然后在用户帐户上兑换 Steam key 。我找不到有关此主题的任何文档。 除了 Humble Bundle
我是一名优秀的程序员,十分优秀!