我找到了这个示例,但它是用于网络的。任何人都可以检查这个项目。并使用 winforms(no wpf) 添加一个简单的示例。
谢谢
你遇到了什么样的问题?无论如何,我已经制作了如何在 WinForm 中实现这一点的示例(但基本)结构。我已经使用了某种 Model View Presenter 模式。
首先,我们有一个演示者,它处理工作单元的方式几乎与控制器的处理方式相似
internal class EmployeePresenter
{
private readonly IEmployeeFormView _employeeFormView;
private readonly IUnitOfWork _unitOfWork;
public EmployeePresenter(IEmployeeFormView view)
{
_employeeFormView = view;
_unitOfWork = new SqlUnitOfWork();
}
internal void GetData()
{
var id = 1; //parameter
var employee = _unitOfWork.Employees.Single(e => e.Id == id);
_employeeFormView.PopulateData(employee.Name);
}
}
然后我们有一个接口和一个实现该接口的表单
public interface IEmployeeFormView
{
void PopulateData(string data);
}
public partial class EmployeeForm : Form, IEmployeeFormView
{
private readonly EmployeePresenter _presenter;
public EmployeeForm()
{
InitializeComponent();
_presenter = new EmployeePresenter(this);
}
#region IEmployeeFormView Members
public void PopulateData(string data)
{
txtName.Text = data; //txtName is a textbox on form
}
#endregion
private void btnGet_Click(object sender, EventArgs e)
{
_presenter.GetData();
}
}
添加所需的参考,您就完成了。这可能不是最好的方法,但它肯定是实现这一目标的一种方法。
解决方案是在此处上传。
希望这可以帮助。如有需要,请随时讨论。