
[英]How to come back to parent form without creating new instance of parent class in C# windows application
[英]Creating a controller class for a windows form
我的任务是将代码重构为Windows窗体。 我需要清空在窗体本身上完成的所有计算,并将其移至控制器类。 然后,该窗体将仅在创建时创建控制器的实例,并在事件处理程序中引用控制器的方法。 这样做可以简化单元测试。
我遇到的问题之一是计算经常检查表单上的控件(例如文本框)中的数据,或者检查控件是否存在。 显然,在正常情况下,控制器将无法引用此数据。 有人告诉我,我可以使用controller类中的属性进行设置,并做一些将表格绑定到controller的事情,但是这些都不是我所熟悉的。 我仍然很难理解我应该做什么。
任何帮助是极大的赞赏! 谢谢!
您可以使用几乎每个人都在WPF和ASP.NET MVC Framework中使用的MVVM模式作为示例。 当您使用“控制器”一词时,我建议您需要更紧密地遵循MVC。 您可以定义一个视图模型类,其工作是包含视图所需的数据,即表单。 您的控制器将视图模型公开给视图,并直接与该视图模型一起使用。 如果控制器需要执行任何验证等操作,它将在该视图模型上进行验证。
该视图从控制器获取视图模型,并将其绑定到其控件。 如果需要确定控件是否存在,则视图的责任是这样做。
视图模型是视图使用的模型,即数据。 这可能与数据访问级别使用的模型相同或不同。 在高度结构化的应用程序中,您的数据访问代码将生成一个模型,并且数据将在DTO中移至应用程序,然后移至视图模型以进行实际演示。 在某些情况下,这三个形状可能都不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.