Настройка и расширение доменного языка
Пакет SDK для моделирования и визуализации Visual Studio (VMSDK) предоставляет несколько уровней, на которых можно указать моделирование средств:
Укажите доменный язык (DSL), используя схему определения DSL.Можно быстро создать DSL с diagrammatic нотацию, четкой формой XML и основными средствами, которые требуются создают код и другие артефакты.
Дополнительные сведения см. в разделе Определение доменного языка.
Настройка DSL с помощью нескольких продвинутых функциях определения DSL.Например, можно создать дополнительные связи появляться, когда пользователь создает элемент.Эти методы главным образом достиганы в определении DSL, а некоторые требуется несколько линий программного кода.
Расширение пользовательских инструментов моделирования с помощью программного кода.VMSDK разработан специально для расширения, чтобы облегчить его интеграции с кодом, создается из определения DSL.Дополнительные сведения см. в разделе Написание кода для настройки доменного языка.
Примечание |
---|
При обновлении файл определений DSL, не забудьте щелкнуть Преобразовать все шаблоны на панели инструментов обозревателя решений, прежде чем перестроить решение. |
Темы данного раздела
Добиться этого эффекта |
См. раздел в этом разделе |
---|---|
Разрешить пользователю задавать свойства цветов и стилей фигуры. |
Щелкните правой кнопкой мыши фигуру или соединителя, класс Добавьте предоставляетсяи щелкните этот элемент. Дополнительные сведения см. в разделе Настройка представления схемы. |
Различные классы элементов модели выглядят похожи на схеме, совместное использование свойства как исходные высота и ширина, цвет подсказки. |
Используйте наследование между фигурами или классами соединителя.Сопоставление между фигурами производными и доменными классами, унаследованными наследуют сведения о сопоставлении родительскиев. Сопоставьте различные классы доменных или к тому же классу формы. |
Класс элемента модели отображается различными контекстами фигур. |
Сопоставление несколько классов фигуры на один и тот же доменному классу.При построении решения следуйте отчетом об ошибках и введите код, чтобы решить, какую запрошенная форма, которую необходимо использовать. |
Цвет фигуры или другие функции, такие как шрифт, указывающие текущее состояние. |
Дополнительные сведения см. в разделе Обновление фигур и соединителей в соответствии с моделью. Создайте правило, обновляет предоставляемых ими свойств.Дополнительные сведения см. в разделе Правила распространяют изменения в пределах модели. Или используйте OnAssociatedPropertyChanged () обновления non-предоставляла функции, такие как стрелки или шрифт ссылки. |
Значок изменится на форму для отображения состояния. |
Задайте видимость сопоставление в окне сведения о оформителя DSL.Найдите несколько оформителей образа в той же позиции.См. описание свойства Обновление фигур и соединителей в соответствии с моделью. Или, переопределение ImageField.GetDisplayImage().См. пример в описании метода ImageField. |
Задайте образом фоновое изображение в любой форме |
Переопределите InitializeInstanceResources (), чтобы добавить границы ImageField.Дополнительные сведения см. в разделе Настройка представления схемы. |
Гнездитесь фигуры на любой глубине |
Настройка рекурсивное внедрения дерево.Укажите BoundsRules, чтобы содержать фигуры.Дополнительные сведения см. в разделе Настройка представления схемы. |
Вложите соединители на фиксированные точек на границе элемента. |
Терминальные define содержит внедренные элементы, представленные маленькими портам на схеме.Используйте BoundsRules, чтобы исправить портов на месте.См. образец схемы на принципиальной Пакет SDK для визуализации данных и моделирования. |
Текстовое поле отображает значение, полученное из других значений. |
Сопоставление оформитель текст на вычисляемый или настраиваемому свойству домена хранения.Дополнительные сведения см. в разделе Вычисляемые и пользовательские свойства хранилища. |
Распространите изменения между элементами модели или между фигурами |
Дополнительные сведения см. в разделе Проверка в доменных языках. |
Распространите изменения к ресурсам, что и другие Visual Studio расширения вне хранилища. |
Дополнительные сведения см. в разделе Обработчики событий распространяют изменения за пределы модели. |
В окне свойства отображаются свойства связанного элемента. |
Переадресованы свойства установки.Дополнительные сведения см. в разделе Настройка окна свойств. |
Категории свойств |
Окно свойств разделено на разделы, называемые категориям.Установка Категория своих свойств домена.Свойства с одинаковым именем категории отображаются в один и тот же раздел.Можно также присвоить Категория роли в связи. |
Контролируйте доступ пользователей к свойствам домена |
Установка Отображается false предотвратить отображение свойство домена в окне свойств во время выполнения.Можно сопоставить его отправки СМС оформителей. Пользовательский интерфейс только для чтения запрещает пользователям изменить свойство домена. Доступ к свойству домена приложения не трогнут. |
Изменение имени, значка и видимость для узлов в обозревателе модели DSL. |
Дополнительные сведения см. в разделе Настройка обозревателя моделей. |
Включите копию, вырезать и вставить |
Установка Включите вставить копии свойство Редактор узел в обозревателе DSL. |
Связи ссылки копии и их целевые объекты, когда элемент копируется.Например, комментарии копии, вложенных в элемент. |
Установка Передает копии свойство роли источника (представленных линией на одной стороне связи в схеме определения доменной DSL). Напишите код для переопределения ProcessOnCopy для достижения более сложных эффектов. Дополнительные сведения см. в разделе Настройка функции копирования. |
Удаление reparent или выполните повторную компоновку связанные элементы, если элемент удален. |
Установка Распространяет удалить значение роли в связи.Для более сложных эффектов, переопределение ShouldVisitRelationship и ShouldVisitRolePlayer методы MyDslDeleteClosure класс, определенный внутри DomainModel.cs См. раздел Настройка функции удаления. |
Сохраните макет и внешний вид фигуры на копии и сопротивлени-удалении. |
Добавление фигур и соединителей на скопированный ElementGroupPrototype.Самый удобный метод для переопределения ElementOperations.CreateElementGroupPrototype() Дополнительные сведения см. в разделе Настройка функции копирования. |
Вставьте фигуры в выбранном местоположении, как текущая позиция курсора. |
Переопределенный ClipboardCommandSet.ProcessOnCopy() использовать версию место хранения-специфического ElementOperations.Merge(). См. Настройка функции копирования. |
Создайте дополнительные ссылки на затире |
Переопределите ClipboardCommandSet.ProcessOnPasteCommand () |
Включите drag and drop из этой схемы, DSLs или других схем UML и элементов окон |
См. раздел Практическое руководство. Добавление обработчика перетаскивания. |
Разрешите формы или средство, которое необходимо перетащить на форму дочерних элементов, как порт, если он был перетаскивается на родительский элемент. |
Укажите директиву слияния элемента в классе целевого объекта, чтобы переадресованы удаленный объект к родительскому элементу.Дополнительные сведения см. в разделе Настройка создания и перемещения элементов. |
Разрешите формы или средство, которое необходимо перетащить на форму и имеют дополнительные связи или объекты создаются.Например, включение комментарий для удаления на элемент, к которому он быть связанными. |
Укажите директиву слияния элементов на доменном классе целевого объекта и определение связей.В сложных случаях можно добавлять пользовательский код.Дополнительные сведения см. в разделе Настройка создания и перемещения элементов. |
Создайте группу в составе элементы с одним средством.Например, компонент с заданным набором портов. |
Переопределите метод инициализации области элементов в ToolboxHelper.cs.Создайте прототип группы элементов (EGP), содержащий элементы и их отношения связей.Дополнительные сведения см. в разделе Настройка элементов и панели элементов. Включить фигуры субъекта и порта в EGP или укажите BoundsRules, чтобы изменить расположение фигур EGP порта при создании экземпляра.Дополнительные сведения см. в разделе Класс BoundsRules ограничивает расположение и размеры фигур. |
Используйте одно средство соединения для создания нескольких типов связей. |
Добавление правила подключения ссылки (жидкокристаллический монитор) к конструктору соединения, вызванный функцией.Жидкокристаллические мониторы определяют тип связи из типов 2 элементов.Чтобы сделать данным зависит от состояния элементов можно добавлять пользовательский код.Дополнительные сведения см. в разделе Настройка элементов и панели элементов. |
Липкие средства - пользователь может дважды щелкнуть любое средство для создания фигур и соединителей много можно последовательно. |
Выберите в обозревателе DSL Editor узел.В окне свойства установите Использует липкие элементы панели инструментов. |
Определение команды меню |
См. раздел Практическое руководство. Изменение стандартной команды меню в доменном языке. |
Ограничьте модель с правилами проверки |
См. раздел Проверка в доменных языках. |
Создание кода, файлы конфигурации или документы на основе DSL. |
|
Как настраивать модели сохраняются в файл. |
См. раздел Настройка хранилища файлов и XML-сериализации. |
Сохраните модели с базами данных или другими носитель. |
Переопределенный YourLanguageDocData См. раздел Настройка хранилища файлов и XML-сериализации. |
Интеграция несколько DSLs таким образом, что они будут работать как часть одного приложения. |
Дополнительные сведения см. в разделе Интеграция моделей с помощью Visual Studio Modelbus. |
Разрешить его DSL, которые будут расширение сторонние разработчики, проконтролируйте и расширение. |
Расширение доменного языка с помощью MEF Совместное использование классов в различных доменных языках с помощью библиотеки доменных языков Определение политики блокировки для создания сегментов, доступных только для чтения |
См. также
Основные понятия
Пакет SDK визуализации и моделирования — доменные языки