Я пытаюсь разработать тестовый проект, чтобы изучить логику шаблона MVP.
Представление представляет собой простой контроллер с панелью (добавляется в основную форму во время выполнения)
Модель представляет собой простой класс с данными человека (имя, фамилия)
Я застрял в определении контроллера, потому что я не хочу делать ошибки и не уважаю шаблон MVP.
что я хотел бы сделать:
нажмите кнопку (просмотр) и заполните панель метками, содержащими данные людей в базе данных.
у докладчика есть экземпляр вида и одна из моделей, при которой презентатор получает событие, когда я нажимаю кнопку.
У меня есть следующие сомнения: в примерах, которые я нахожу вокруг докладчика, пропускается только один экземпляр модели, но в этом случае я должен привязать несколько ярлыков.
Как правильно добавить метку в представление?
namespace linqProject.Agenti.Presenter
{
class AgentiPresenter : IAgentiPresenter
{
IAgentiModel agentiModel;
IAgentiView agentiview;
public AgentiPresenter(IAgentiModel _agentiModel, IAgentiView _agentiView)
{
agentiModel = _agentiModel;
agentiview = _agentiView;
WireUpViewEvents();
}
private void WireUpViewEvents()
{
agentiview.onLoad += Agentiview_onLoad;
}
private void Agentiview_onLoad(object sender, EventArgs e)
{
BindingData(sender);
}
private void BindingData(object sender)
{
//Control controllo = null;
try
{
//Control controllo = ((Control)sender).Parent;
//IEnumerable<Control> controlli = FoundControls.FilterControls(controllo, c => c.Name != null && c.Name.Equals("panel1"));
using (var ctx = new contactsEntities())
{
var student = (from s in ctx.AGENTI
select s);
}
}
catch (Exception ex)
{
}
}
}
}
В основной форме я создаю докладчика:
Agenti.View.AgentiView av = new Agenti.View.AgentiView();
this.Controls.Add(av);
Agenti.View.IAgentiView Iav = av;
Agenti.Model.IAgentiModel Iam = new Agenti.Model.AgentiModel();
new Agenti.Presenter.AgentiPresenter(Iam, Iav);
Я выполнил функцию в Linq, чтобы получить экземпляр панели, поэтому в докладчике у меня есть панель, но если я добавляю метки с помощью цикла, они не заполняют модели, и я, похоже, не уважаю MVP шаблон. * +1021 *
Не могли бы вы объяснить, как действовать в соответствии с шаблоном MVP?
Я хочу заполнить метку, добавив их во время выполнения к представлению с данными в БД