Impostazione di un'immagine di sfondo in un diagramma
In Visual Studio Visualization and Modeling SDK è possibile impostare l'immagine di sfondo per una finestra di progettazione generata tramite codice personalizzato.
Impostazione dell'immagine di sfondo
Per impostare un'immagine di sfondo per una finestra di progettazione generata
Copiare il file di immagine da usare come sfondo per il diagramma nella directory Dsl\Resources del progetto corrente.
In Esplora soluzioni fare clic con il pulsante destro del mouse sulla cartella Dsl\Resources, scegliere Aggiungi e quindi fare clic su Elemento esistente.
Nella finestra di dialogo Aggiungi elemento esistente passare alla cartella Dsl\Resources.
Nell'elenco Tipo file fare clic su File di immagine.
Fare clic sul file di immagine copiato nella directory e quindi fare clic su Aggiungi.
Fare clic con il pulsante destro del mouse su Dsl e scegliere Proprietà per aprire la finestra delle proprietà del progetto DSL.
Nella scheda Risorse fare clic su Il progetto non contiene un file di risorse predefinito. Fare clic qui per crearne uno.
Aggiungere il file di immagine al file di risorse trascinando l'immagine da Esplora soluzioni nella finestra delle risorse.
Aprire il menu File e fare clic sull'opzione per salvare le proprietà del progetto.
Verificare che il file Dsl\Properties\Resources.resx sia presente e contenga il file Resources.Designer.cs.
Se Resources.Designer.cs non è presente, fare clic sul file Resources.resx in Esplora soluzioni.
Nella finestra Proprietà impostare la proprietà Custom Tool su ResXFileCodeGenerator.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto DSL, scegliere Aggiungi e fare clic su Nuova cartella.
Denominare la cartella Custom.
Fare clic con il pulsante destro del mouse sulla cartella Custom, scegliere Aggiungi e quindi Nuovo elemento.
Nella finestra di dialogo Aggiungi nuovo elemento fare clic su File di codice nell'elenco Modelli.
Nella casella Nome digitare BackgroundImage.cs e fare clic su Aggiungi.
Copiare il codice seguente nel file BackgroundImage.cs, usando lo spazio dei nomi, il nome della classe del diagramma e il nome della risorsa del file di immagine corretti.
Sostituire "MyDiagramClass" con il nome della classe parziale del diagramma definita in Dsl\GeneratedCode\Diagrams.cs. È anche possibile recuperare lo spazio dei nomi corretto dal file 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(); } } }
Per altre informazioni sulla personalizzazione del modello con il codice programma, vedere Navigating and Updating a Model in Program Code.
Vedere anche
Concetti
Definizione di forme e connettori
Customizing Text and Image Fields
Navigating and Updating a Model in Program Code