Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В пакете SDK для визуализации и моделирования Visual Studio можно задать фоновое изображение для созданного конструктора с помощью пользовательского кода.
Настройка фонового изображения
Установка фонового изображения для сгенерированного конструктора
Скопируйте файл изображения, который будет использоваться в качестве фона схемы, в каталог Dsl\Resources текущего проекта.
В Обозреватель решений щелкните правой кнопкой мыши папку Dsl\Resources, наведите указатель мыши на добавление и выберите пункт "Существующий элемент".
В диалоговом окне "Добавление существующего элемента" перейдите в папку Dsl\Resources.
В списке "Файлы типов " щелкните "Файлы изображений".
Щелкните файл изображения, скопированный в каталог, и нажмите кнопку "Добавить".
Щелкните правой кнопкой мыши Dsl и щелкните "Свойства ", чтобы открыть свойства проекта Dsl.
На вкладке "Ресурсы" щелкните этот проект не содержит файл ресурсов по умолчанию. Щелкните здесь, чтобы создать его.
Добавьте файл изображения в файл ресурса, перетащив рисунок из Обозреватель решений в окно ресурсов.
Откройте меню "Файл" и выберите параметр для сохранения свойств проекта.
Убедитесь, что файл Dsl\Properties\Resources.resx существует и под ним есть файл Resources.Designer.cs.
Если resources.Designer.cs отсутствует, щелкните файл Resources.resx в Обозреватель решений.
В окне Свойства присвойте свойству
Custom Tool
значениеResXFileCodeGenerator
.В Обозреватель решений щелкните правой кнопкой мыши проект Dsl, наведите указатель мыши на добавление и нажмите кнопку "Создать папку".
Назовите папку Custom.
Щелкните правой кнопкой мыши папку "Пользовательская", наведите указатель на "Добавить" и выберите пункт "Создать элемент".
В диалоговом окне "Добавление нового элемента" в списке "Шаблоны" щелкните "Файл кода".
В поле "Имя" введите
BackgroundImage.cs
и нажмите кнопку "Добавить".Скопируйте указанный ниже код в файл BackgroundImage.cs, изменив пространство имен, имя класса схемы и имя ресурса файла изображения.
Замените "MyDiagramClass" на имя частичного класса схемы, определенное в файле Dsl\GeneratedCode\Diagrams.cs. Узнать правильное пространство имен можно также с помощью файла Dsl\GeneratedCode\Diagrams.cs.
using System; using Microsoft.VisualStudio.Modeling.Diagrams; // Fix the namespace: namespace Fabrikam.MyLanguage { // Fix the Diagram Class name - get it from GeneratedCode\Diagram.cs public partial class Language29Diagram { protected override void InitializeInstanceResources() { // Fix the Resources namespace and the Image resource name: ImageField backgroundField = new ImageField("background", Fabrikam.MyLanguage.Properties.Resources.MyPicture); backgroundField.DefaultFocusable = false; backgroundField.DefaultSelectable = false; backgroundField.DefaultVisibility = true; backgroundField.DefaultUnscaled = false; shapeFields.Add(backgroundField); backgroundField.AnchoringBehavior .SetTopAnchor(AnchoringBehavior.Edge.Top, 0.01); backgroundField.AnchoringBehavior .SetLeftAnchor(AnchoringBehavior.Edge.Left, 0.01); backgroundField.AnchoringBehavior .SetRightAnchor(AnchoringBehavior.Edge.Right, 0.01); backgroundField.AnchoringBehavior .SetBottomAnchor(AnchoringBehavior.Edge.Bottom, 0.01); base.InitializeInstanceResources(); } } }
Дополнительные сведения о настройке модели с помощью кода программы см. в статье Навигация и обновление модели в коде программы.
Связанный контент
- Определение фигур и соединителей
- Настройка полей с текстом и изображениями
- Перемещение по модели и обновление модели в коде программы
- Написание кода для настройки доменного языка
Примечание.
Компонент Text Template Transformation (Преобразование текстовых шаблонов) автоматически устанавливается как часть рабочей нагрузки разработки расширений Visual Studio. Его также можно установить на вкладке Отдельные компоненты Visual Studio Installer в категории Пакеты SDK, библиотеки и платформы. Установите компонент Пакет SDK для моделирования со вкладки Отдельные компоненты.