[ELMA3] Создание нового модуля в дизайнере
Для создания нового модуля необходимо:
1. Создать сборку или папку внутри сборки со следующей структурой:
NewModule
|- Constants //Содержит константы с именами команд, событий, рабочих пространств и т.д.
|- Controllers //Содержит контроллеры
|- Models //Содержит модели объектов
|- Services //Содержит интерфейсы и реализации сервисов
|- Views //Содержит представления, контролы, диалоги, визарды
|- WorkItems //Содержит рабочие элементы
2. Создать основной рабочий элемент модуля в папке WorkItem
public class NewModuleWI : RibbonChapterWorkItem<Controller, NewModuleView>
{
}
В качестве контроллера может быть либо стандартный класс, либо класс собственного контроллера.
3. Создать представление для модуля.
Это может быть любой контрол WinForms.
Если в представлении необходимо использовать контроллер и/или рабочий элемент, можно унаследоваться от ControlledView<TController> или ControlledDataView<TController>. Второй позволяет передавать данные через свойство DataSourceObject.
Для корректного отображения Дизайнера представления в VisualStudio следует осуществить наследование через класс-заглушку:
/// <summary>
/// Представление
/// </summary>
public partial class NewModuleView : NewModuleView_Generic
{
// Здесь логика для представления
}/// <summary>
/// Заглушка для представления
/// </summary>
public class NewModuleView_Generic : ControlledDataView<NewModuleController>
{
}
4. Создать в корневой папке класс, унаследованный от SingleWorkItemModule<NewModuleWI>
5. Прописать в конфигурационном файле приложения строчку с регистрацией модуля
<CompositeUI>
<modules>
<add type="EleWise.ELMA.NewModuleAsm.NewModule, EleWise.ELMA.NewModuleAsm"/>
</modules>
</CompositeUI>