Всякий раз, когда представление нуждается в динамическом создании элемента управления, оно, как правило, предназначено для сбора чего-либо. Это означает, что вашему Presenter / Controller не нужно создавать всю логику, но нужно вызвать метод в представлении, которое создаст элементы управления.
На виду:
void PopulateUserOptions(IEnumerable<String> options)
{
foreach (var item in options)
{
\\create and add your controls to the form
}
}
Таким образом, контроллер выражает, когда должен быть создан элемент управления и т. Д., Но оставляет его на усмотрение, чтобы решить, как это сделать.