다이어그램에 배경 이미지 설정
Visual Studio Visualization and Modeling SDK에서는 사용자 지정 코드를 사용하여 생성된 디자이너의 배경 이미지를 설정할 수 있습니다.
배경 이미지 설정
생성된 디자이너의 배경 이미지를 설정하려면
다이어그램 배경으로 사용할 이미지 파일을 현재 프로젝트의 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으로 지정합니다.
Custom 폴더를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 항목을 클릭합니다.
새 항목 추가 대화 상자의 템플릿 목록에서 코드 파일을 클릭합니다.
이름 상자에 BackgroundImage.cs를 입력한 다음 추가를 클릭합니다.
네임스페이스, 다이어그램 클래스 이름 및 이미지 파일 리소스 이름을 조정하여 다음 코드를 BackgroundImage.cs 파일에 복사합니다.
"MyDiagramClass"는 Dsl\GeneratedCode\Diagrams.cs에 정의된 다이어그램 partial 클래스의 이름으로 바꿉니다. 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(); } } }
프로그램 코드를 사용하여 모델을 사용자 지정하는 방법은 Navigating and Updating a Model in Program Code를 참조하세요.
참고 항목
개념
Customizing Text and Image Fields
Navigating and Updating a Model in Program Code