Добавление нового элемента управления

Добавить новый тип элементов управления в Конструктор Web-разметок можно с помощью расширения.

Расширение предоставляет возможность настраивать разметку с использованием нового элемента управления, но не обеспечивает его функционирование на клиентской стороне.

Полностью вопрос разработки новых типов элементов управления будет рассмотрен в разделе Разработка элементов управления.

Основным способом описания элемента управления является текстовый или XML. Подробнее о создании текстового описателя элемента управления см. Формирование текстового описателя элемента управления.

Добавить элемент управления

Элемент управления из расширения в редакторе разметок
Рисунок 1. Элемент управления из расширения в редакторе разметок
Чтобы создать расширение, добавляющее новый тип элементов управления, выполните приведенную далее инструкцию.
  1. Создайте проект расширения программы Конструктор Web-разметок.

  2. Добавьте в ядро расширения (файл DesignerExtension.cs) функцию, предоставляющую описатель элемента управления.

    Описатель элемента управления — это объект, содержащий информацию об элементе управления: название типа, группа, перечень свойства (настроек). Описатель имеет тип ControlTypeDescription.

       ControlTypeDescription GetSuperControlTypeDescription ()
       {
         var controlTypeDescription = new ControlTypeDescription ("SuperControl") {
             DisplayName = "Супер элемент управления",
             ControlGroupDisplayName = "Примеры",
             PropertyDescriptions = {
                 PropertyFactory.GetNameProperty(), (1)
                 PropertyFactory.GetVisibilityProperty(), (2)
                 PropertyFactory.GetClickEvent() (3)
             }
         };
         return controlTypeDescription;
       }
    1 Название.
    2 Видимость.
    3 Событие При щелчке.
    При составлении описания элемента необходимо:
    1. Указать название типа элемента управления. Название передается непосредственно в конструктор класса ControlTypeDescription.

      Описатель элемента управления с типом "SuperControl"
      var controlTypeDescription = new ControlTypeDescription ("SuperControl"){}
    2. Указать отображаемое название типа элемента управления в DisplayName. Данное название приводится в строке Название ЭУ в блоке настроек элемента управления в программы Конструктор Web-разметок.

      DisplayName = "Супер элемент управления",
    3. Указать группу элемента управления в ControlGroupDisplayName. Группа используется для группировки элементов управления в библиотеке элементов управления программы Конструктор Web-разметок.

      ControlGroupDisplayName = "Примеры",
  3. Укажите свойства элемента управления в PropertyDescriptions.

    Свойства элемента управления — его параметры, которые определяют внешний вид, связь с данными карточки, функции, вызываемые при работе элемента управления (обработчики событий). К свойствам относятся: видимость, текстовая метка, подсказка, (событие) при получении фокуса и др. Значения свойств (есть исключения) передаются в клиент, где могут быть использованы для формирования пользовательского интерфейса.

  4. Переопределите метод GetControlTypeDescriptions() базового класса, чтобы он возвращал коллекцию с реализованным в пункте 2 методом:

    protected override List<ControlTypeDescription> GetControlTypeDescriptions()
    {
        return new List<ControlTypeDescription>
        {
            GetSuperControlTypeDescription()
        };
    }