[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>