希望这张图片在这里可以阅读......
这是我第一个实现 MVP 的项目。我有三个班。我的主要形式,恰当地命名为FrmMain
, FrmMainPresenter
,然后MainOps
它有一些额外的东西。
在 上FrmMain
,我有对 的参考FrmMainPresenter
,并且在FrmMainPresenter
我对 有参考FrmMain
。
上的事件FrmMain
调用 上的方法FrmMainPresenter
。
FrmMainPresenter
应该从引用中获取控件并FrmMain
调用MainOps
接受 aGridControl
和的方法Collection<Control>
。
但是,在尝试访问适当的 Grid 和 CollectionFrmMainPresenter
时,它告诉我FrmMain
不包含这些控件的定义
代码FrmMain
:
private void genericCheckbox_CheckedChanged(object sender, EventArgs e)
{
_presenter.CheckBoxCheckedChanged();
}
代码FrmMainPresenter
:
public void CheckBoxCheckedChanged()
{
if (!_view.SuppressCheckedChanged)
_mo.UpdateFilter(_view.gdcSVNDefaultView, _view.Controls);
}
不知道我做错了什么。我不认为这是正确的,但我唯一的猜测是在 Designer 文件中将必要的控件设置为 public,但这不起作用。结果相同。
我想问题是因为我的表单界面没有定义 gridview / controls 集合,我的演示者类看不到它。但即便如此,我也不确定如何在界面中正确定义它,以便可以在表单上实现它。