Condividi tramite


Classe ImageField

Oggetto semplice che rappresenta una parte di una forma che può elementi Decorator oppure sfondi di immagine di visualizzazione.

Gerarchia di ereditarietà

System.Object
  Microsoft.VisualStudio.Modeling.Diagrams.ShapeField
    Microsoft.VisualStudio.Modeling.Diagrams.ImageField

Spazio dei nomi:  Microsoft.VisualStudio.Modeling.Diagrams
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)

Sintassi

'Dichiarazione
Public Class ImageField _
    Inherits ShapeField
public class ImageField : ShapeField

Il tipo ImageField espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ImageField(String) Inizializza una nuova istanza della classe di ImageField.
Metodo pubblico ImageField(String, Image) Inizializza una nuova istanza della classe di ImageField.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica AnchoringBehavior Viene descritto come il contenuto del campo necessario posizionare e ridimensionare relativamente allo ShapeElement padre. (Ereditato da ShapeField)
Proprietà pubblica DefaultAccessibleDescription Ottiene o imposta la descrizione accessibile predefinita. (Ereditato da ShapeField)
Proprietà pubblica DefaultAccessibleName Ottiene o imposta il nome predefinito del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField)
Proprietà pubblica DefaultAccessibleState Ottiene lo stato predefinito del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField)
Proprietà pubblica DefaultBackgroundBrushId Ottiene o imposta l'ID del pennello predefinito per disegnare lo sfondo del campo della forma. (Ereditato da ShapeField)
Proprietà pubblica DefaultFocusable Ottiene il campo della forma e verifica se può ricevere lo stato attivo, o viene assegnato al campo della forma in grado di ricevere lo stato attivo. (Ereditato da ShapeField)
Proprietà pubblica DefaultImage Ottiene o imposta l'immagine predefinita associata a questo ImageField.L'immagine predefinita può essere personalizzata mediante l'override del metodo di GetDisplayImage.
Proprietà pubblica DefaultInactiveSelectedBackgroundBrushId Ottiene o imposta un valore che specifica l'ID del pennello per lo sfondo predefinito per il campo della forma. (Ereditato da ShapeField)
Proprietà pubblica DefaultPenId Ottiene o imposta l'ID della penna predefinita da utilizzare per il campo della forma. (Ereditato da ShapeField)
Proprietà pubblica DefaultReflectParentFocusedState Ottiene il campo figlio di forme e verifica se deve ricevere lo stato attivo quando la relativa forma padre riceve lo stato attivo o imposta la possibilità di riflettere lo stato attivo della forma padre. (Ereditato da ShapeField)
Proprietà pubblica DefaultReflectParentSelectedState Ottiene il campo figlio di forme e verifica se deve essere selezionato quando la relativa forma padre viene selezionata o imposta la possibilità di aggiornare lo stato di selezione della forma padre. (Ereditato da ShapeField)
Proprietà pubblica DefaultSelectable Ottiene il campo della forma e verifica se può essere selezionato per impostazione predefinita o imposta lo stato di selezione predefinito del campo della forma. (Ereditato da ShapeField)
Proprietà pubblica DefaultSelectedBackgroundBrushId Ottiene o imposta un valore che specifica l'ID del pennello per lo sfondo predefinito per il campo della forma. (Ereditato da ShapeField)
Proprietà pubblica DefaultUnscaled Ottiene o imposta se l'immagine deve essere disegnato non ridimensionata per quanto riguarda i limiti di questo campo o l'immagine deve essere ridimensionata in base ai limiti.
Proprietà pubblica DefaultVisibility Ottiene il campo della forma e si verifica se viene visualizzato per impostazione predefinita o impostare la visibilità predefinita del campo della forma. (Ereditato da ShapeField)
Proprietà pubblica Name Ottiene il nome del campo della forma. (Ereditato da ShapeField)

In alto

Metodi

  Nome Descrizione
Metodo pubblico AccessibleDoDefaultAction Eseguire l'azione predefinita per l'oggetto accessibile. (Ereditato da ShapeField)
Metodo pubblico AllowInPlaceEditorAutoSize Abilita l'editor sul posto automaticamente da graduare nel campo della forma. (Ereditato da ShapeField)
Metodo pubblico AssociateValueWith(Store, AssociatedPropertyInfo) Associa il campo di forma con una proprietà del dominio assegnata a un elemento di formato. (Ereditato da ShapeField)
Metodo pubblico AssociateValueWith(Store, Guid) Associa il campo di forma con una proprietà del dominio assegnata a un elemento di formato. (Ereditato da ShapeField)
Metodo pubblico AssociateValueWith(Store, Guid, AssociatedPropertyInfo) Associa il campo di forma con una proprietà del dominio assegnata a un elemento di formato. (Ereditato da ShapeField)
Metodo pubblico AssociateVisibilityWith(Store, AssociatedPropertyInfo) Associa la visibilità del campo di forma con una proprietà del dominio assegnata a un elemento di formato. (Ereditato da ShapeField)
Metodo pubblico AssociateVisibilityWith(Store, Guid) Associa la visibilità del campo di forma con una proprietà del dominio assegnata a un elemento di formato. (Ereditato da ShapeField)
Metodo pubblico AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) Associa la visibilità del campo di forma con una proprietà del dominio assegnata a un elemento di formato. (Ereditato da ShapeField)
Metodo pubblico CanEditValue Ottiene il campo della forma e si verifica se può essere modificato. (Ereditato da ShapeField)
Metodo pubblico CommitPendingEdit Esegue il commit della modifica in sospeso. (Ereditato da ShapeField)
Metodo pubblico DoHitTest Esegue un hit test su un punto specificato nel diagramma per determinare se il passaggio consiste nei limiti del campo della forma. (Ereditato da ShapeField)
Metodo pubblico DoKeyboardNavigation Si sposta nel campo del form utilizzando la tastiera. (Ereditato da ShapeField)
Metodo pubblico DoPaint Disegna il contenuto dello ShapeField. (Esegue l'override di ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement)).
Metodo pubblico EditValue(ShapeElement, DiagramClientView) Apre l'editor disponibile per il campo della forma. (Ereditato da ShapeField)
Metodo pubblico EditValue(ShapeElement, DiagramClientView, PointD) Apre l'editor disponibile per il campo della forma. (Ereditato da ShapeField)
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico FindFirstChild Individuare il primo campo figlio di forma nel campo padre della forma. (Ereditato da ShapeField)
Metodo pubblico FindLastChild Individuare l'ultimo campo figlio di forma nel campo padre della forma. (Ereditato da ShapeField)
Metodo pubblico FindNextChild Individuare il campo figlio seguente shape nel campo padre della forma. (Ereditato da ShapeField)
Metodo pubblico FindNextInChildSubFields Individuare il campo figlio seguente shape nella sequenza di navigazione. (Ereditato da ShapeField)
Metodo pubblico FindPreviousChild Individuare il campo figlio precedente di forma nel campo padre della forma. (Ereditato da ShapeField)
Metodo pubblico FindPreviousInChildSubFields Individuare il campo figlio precedente di forma nella sequenza di navigazione. (Ereditato da ShapeField)
Metodo pubblico Focused Ottiene il campo della forma e verifica se abbia lo stato attivo. (Ereditato da ShapeField)
Metodo pubblico GetAccessibilityObject Ottiene l'oggetto di accessibilità assegnato al campo della forma. (Ereditato da ShapeField)
Metodo pubblico GetAccessibleChild Ottiene l'oggetto di accessibilità per il campo figlio della forma. (Ereditato da ShapeField)
Metodo pubblico GetAccessibleChildCount Ottiene il numero di oggetti di accessibilità assegnati al campo padre della forma e ai relativi campi figlio della forma. (Ereditato da ShapeField)
Metodo pubblico GetAccessibleDefaultActionDescription Ottiene lo scopo predefinito del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField)
Metodo pubblico GetAccessibleDescription restituisce la descrizione accessibile predefinita per un campo di immagine. (Esegue l'override di ShapeField.GetAccessibleDescription(ShapeElement)).
Metodo pubblico GetAccessibleHelp Ottiene la guida del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField)
Metodo pubblico GetAccessibleHelpTopicFileName Ottiene un argomento della guida all'oggetto accessibile. (Ereditato da ShapeField)
Metodo pubblico GetAccessibleHelpTopicId Ottiene l'ID assegnato all'argomento della Guida per l'oggetto accessibile. (Ereditato da ShapeField)
Metodo pubblico GetAccessibleName restituisce il nome accessibile predefinito per un campo di immagine. (Esegue l'override di ShapeField.GetAccessibleName(ShapeElement)).
Metodo pubblico GetAccessibleRole recupera il ruolo accessibile di questo ShapeField. (Esegue l'override di ShapeField.GetAccessibleRole(ShapeElement)).
Metodo pubblico GetAccessibleState Ottiene lo stato del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField)
Metodo pubblico GetAccessibleValue Ottiene il valore nel campo della forma per l'oggetto accessibile. (Ereditato da ShapeField)
Metodo pubblico GetActiveInPlaceEditor Ottiene l'editor nel punto in cui è attivo. (Ereditato da ShapeField)
Metodo pubblico GetBackgroundBrush Ottiene il pennello che consente di disegnare lo sfondo dell'elemento della forma a cui questo campo di forma è assegnato. (Ereditato da ShapeField)
Metodo pubblico GetBackgroundBrushId Ottiene l'ID del pennello che consente di disegnare lo sfondo dell'elemento della forma a cui questo campo di forma è assegnato. (Ereditato da ShapeField)
Metodo pubblico GetBounds Ottiene i limiti del campo della forma. (Ereditato da ShapeField)
Metodo pubblico GetCursor Ottiene il puntatore visualizzato quando il mouse è posizionato sul campo della forma. (Ereditato da ShapeField)
Metodo pubblico GetDisplayImage Ottiene l'immagine da visualizzare da questo campo.
Metodo pubblico GetFocusable Ottiene il campo della forma e si verifica se può ricevere lo stato attivo. (Ereditato da ShapeField)
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetInPlaceEditorBounds Ottiene i limiti dell'editor sul posto. (Ereditato da ShapeField)
Metodo pubblico GetMaximumInPlaceEditorSize Ottiene il limite massimo per l'editor sul posto. (Ereditato da ShapeField)
Metodo pubblico GetMinimumInPlaceEditorSize Ottiene i limiti minimi per l'editor sul posto. (Ereditato da ShapeField)
Metodo pubblico GetMinimumSize Restituisce la dimensione minima del ImageField. (Esegue l'override di ShapeField.GetMinimumSize(ShapeElement)).
Metodo pubblico GetPen Ottiene la penna che estrae l'elemento di formato con cui il campo della forma è assegnato. (Ereditato da ShapeField)
Metodo pubblico GetPenId Ottiene l'ID della penna che estrae l'elemento di formato con cui il campo della forma è assegnato. (Ereditato da ShapeField)
Metodo pubblico GetPotentialMouseAction Ottiene l'azione del mouse attivare una volta quando l'utente fa clic su un punto specifico nel diagramma. (Ereditato da ShapeField)
Metodo pubblico GetSelectable Ottiene il campo della forma e verifica se può essere selezionato. (Ereditato da ShapeField)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico GetUnscaled Indica se l'immagine deve essere disegnato non ridimensionata o meno.
Metodo pubblico GetValue Ottiene il valore nel campo della forma. (Ereditato da ShapeField)
Metodo pubblico GetValueDomainPropertyInfo Ottiene la proprietà del dominio a cui è assegnato al valore nel campo della forma. (Ereditato da ShapeField)
Metodo pubblico GetVisible Ottiene il campo della forma e si verifica se viene visualizzato. (Ereditato da ShapeField)
Metodo pubblico HasFocusedAppearance Ottiene il campo della forma e verifica se deve essere avere lo stato attivo. (Ereditato da ShapeField)
Metodo pubblico HasPendingEdit Ottiene il campo della forma e verifica se il relativo editor disponibile sia attivo e una modifica è in corso. (Ereditato da ShapeField)
Metodo pubblico HasSelectedAppearance Ottiene il campo della forma e verifica se sembrino essere selezionato. (Ereditato da ShapeField)
Metodo pubblico IsNavigationKey(Char) Ottiene la chiave che l'utente ha raggiunto e verifica se può essere utilizzata per spostarsi tra i campi della forma. (Ereditato da ShapeField)
Metodo pubblico IsNavigationKey(Keys) Ottiene le chiavi che l'utente ha raggiunto e verifica se possano essere utilizzate per spostarsi tra i campi della forma. (Ereditato da ShapeField)
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico NavigateAscend Consente di spostare lo stato attivo sul campo precedente di forma nella sequenza di navigazione per le forme selezionate. (Ereditato da ShapeField)
Metodo pubblico NavigateDescend Consente di spostare lo stato attivo sul campo seguente shape nella sequenza di navigazione per le forme selezionate. (Ereditato da ShapeField)
Metodo pubblico NavigateToFirst Consente di spostare lo stato attivo sul primo campo di forma nella sequenza di navigazione per le forme selezionate. (Ereditato da ShapeField)
Metodo pubblico NavigateToLast Consente di spostare lo stato attivo sull'ultimo campo di forma nella sequenza di navigazione per le forme selezionate. (Ereditato da ShapeField)
Metodo pubblico NavigateToNext Consente di spostare lo stato attivo sul campo seguente shape nella sequenza di navigazione per le forme selezionate. (Ereditato da ShapeField)
Metodo pubblico NavigateToPrevious Consente di spostare lo stato attivo sul campo precedente di forma nella sequenza di navigazione per le forme selezionate. (Ereditato da ShapeField)
Metodo protetto OnBeginEdit Avvisa i listener quando la modifica sul posto ha avviato. (Ereditato da ShapeField)
Metodo pubblico OnClick Avvisa i listener quando l'utente ha fatto clic su un campo della forma. (Ereditato da ShapeField)
Metodo pubblico OnDoubleClick Avvisa i listener quando l'utente fa doppio clic su un campo della forma. (Ereditato da ShapeField)
Metodo protetto OnEndEdit Avvisa i listener quando la modifica sul posto è stata completata. (Ereditato da ShapeField)
Metodo pubblico OnKeyDown Avvisa i listener quando l'utente l'oggetto mantiene una chiave quando puntando a un campo della forma. (Ereditato da ShapeField)
Metodo pubblico OnKeyPress Avvisa i listener quando l'utente ha raggiunto una chiave quando puntando a un campo della forma. (Ereditato da ShapeField)
Metodo pubblico OnKeyUp Avvisa i listener quando l'utente ha rilasciato una chiave quando puntando a un campo della forma. (Ereditato da ShapeField)
Metodo pubblico OnMouseDown Avvisa i listener quando l'utente sta tenendo premuto il mouse su un campo della forma. (Ereditato da ShapeField)
Metodo pubblico OnMouseMove Avvisa i listener quando il mouse si è spostato su un campo della forma. (Ereditato da ShapeField)
Metodo pubblico OnMouseUp Avvisa i listener quando l'utente ha rilasciato il pulsante del mouse su un campo della forma. (Ereditato da ShapeField)
Metodo pubblico OnMouseWheel Avvisa i listener quando il mouse è stato ruotato su un campo della forma. (Ereditato da ShapeField)
Metodo pubblico Selected Ottiene il campo della forma e verifica se è selezionato. (Ereditato da ShapeField)
Metodo pubblico SetSelectionRange Imposta la selezione in un intervallo dei campi figlio della forma. (Ereditato da ShapeField)
Metodo pubblico SetValue Assegna il valore specificato in un campo della forma. (Ereditato da ShapeField)
Metodo pubblico SetVisible Imposta la visibilità del campo della forma. (Ereditato da ShapeField)
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Note

Quando si definisce un elemento Decorator di immagine in una forma e quando si definisce una forma di immagine, l'area in cui la forma visualizzazione viene gestito da un ImageField.Per esempi di inizializzazione di ImageFields e l'altro ShapeFields, controllare la soluzione di Dsl \GeneratedCode\Shapes.cs in your DSL.

Un ImageField è un oggetto che gestisce un'area all'interno della forma, ad esempio spazio assegnato a un elemento Decorator.Un'istanza di ImageField è condivisa tra varie forme della stessa classe della forma.L'istanza di ImageField non sono memorizzati un'immagine separata per ogni forma: invece, GetDisplayImage(ShapeElement) il metodo accetta la forma come parametro e può trovare il dipendente di immagine nello stato corrente della forma e del relativo elemento del modello.

Se si desidera che il comportamento speciale ad esempio un'immagine variabile, è possibile creare una classe personalizzata derivata da ImageField.

Per creare una sottoclasse di ImageField

  1. impostare genera il doppio derivato proprietà della classe padre di forma nella definizione di modello DSL.

  2. eseguire l'override InitializeShapeFields metodo della classe della forma.

    • Creare un nuovo file di codice nel progetto di modello DSL e scrivere una definizione di classe parziale per la classe della forma.Eseguire l'override della definizione del metodo corrente.
  3. controllare il codice di InitializeShapeFields nel modello DSL \GeneratedCode\Shapes CS.

    Nel metodo di override, chiamare il metodo di base e quindi creare un'istanza di per contenere la classe del campo dell'immagine.Utilizzare questa opzione per sostituire il campo normale di immagini in shapeFields elenco.

Esempi

Questo esempio fa un dipendente della modifica dell'icona sullo stato dell'elemento del modello della forma.

Nota di avvisoAttenzione

In questo esempio viene illustrato come preparare un elemento Decorator dinamico di immagine.Se tuttavia si desidera solo per passare da una o due immagini in base allo stato di una variabile di modello, è più semplice creare diversi elementi Decorator di immagine, li trova nella stessa posizione alla forma e quindi impostare il filtro di visibilità per dipendere dai valori specifici della variabile di modello.Per impostare questo filtro, selezionare il mapping di forma nella definizione di modello DSL, aprire la finestra dei dettagli di DSL e fare clic sulla scheda degli elementi Decorator.

Per eseguire questo codice di esempio, creare una nuova soluzione DSL utilizzando il modello minimo del linguaggio.Aggiungere una proprietà booleana del dominio AlternateState alla classe di dominio di ExampleElement.Aggiungere un elemento Decorator icona alla classe di ExampleShape e impostare la relativa immagine in un file bitmap.Fare clic su Trasformazione di tutti i modelli.Aggiungere un nuovo file di codice nel progetto di modello DSL e inserire il codice seguente.

Per testare il codice, premere F5 e, nella soluzione di debug, aprire un diagramma di esempio.Lo stato predefinito dell'icona verrà visualizzato.Selezionare la forma, quindi nella Finestra Proprietà modificare il valore di AlternateState proprietà.L'icona deve quindi essere ruotata di 90 gradi, su di essa.

using Microsoft.VisualStudio.Modeling;
using Microsoft.VisualStudio.Modeling.Diagrams;
...
partial class ExampleShape
{
    /// <summary>
    /// Compose a list of the fields in this shape.
    /// Called once for each shape class.
    /// </summary>
    /// <param name="shapeFields"></param>
    protected override void InitializeShapeFields(IList<ShapeField> shapeFields)
    {
      // Fields set up according to DSL Definition:
      base.InitializeShapeFields(shapeFields);

      // Replace the image field:
      ShapeField oldField = ShapeElement.FindShapeField(shapeFields, "IconDecorator");
      shapeFields.Remove(oldField);
      // Must keep the same name:
      MyImageField newField = new MyImageField(oldField.Name);
      shapeFields.Add(newField);
      newField.DefaultImage = (oldField as ImageField).DefaultImage.Clone() as System.Drawing.Image;
    }
  }


  public class MyImageField : ImageField
  {
    public MyImageField(string tag) : base(tag) { }

    /// <summary>
    /// Get the image for this field in the given shape.
    /// </summary>
    public override System.Drawing.Image GetDisplayImage(ShapeElement parentShape)
    {
      ExampleElement element = parentShape.ModelElement as ExampleElement;
      if (element.AlternateState == true)
        return AlternateImage;
      else
        return base.GetDisplayImage(parentShape);
    }

    private System.Drawing.Image alternateImage;
    public System.Drawing.Image AlternateImage
    {
      get
      {
        if (alternateImage == null)
        {
          // Alternate image is a copy of the default, rotated by 90 degrees:
          alternateImage = this.DefaultImage.Clone() as System.Drawing.Image;
          alternateImage.RotateFlip(System.Drawing.RotateFlipType.Rotate90FlipNone);
        }
        return alternateImage;
      }
    }
  }
}

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Modeling.Diagrams

TextField

ShapeField

InitializeShapeFields