Classe ImageField
Oggetto semplice che rappresenta una parte di una forma che può visualizzare elementi Decorator o sfondi di immagine.
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.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)
Sintassi
'Dichiarazione
Public Class ImageField _
Inherits ShapeField
public class ImageField : ShapeField
Il tipo ImageField espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
ImageField(String) | Inizializza una nuova istanza della classe ImageField. | |
ImageField(String, Image) | Inizializza una nuova istanza della classe ImageField. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
AnchoringBehavior | Descrive come il contenuto del campo deve posizionarsi e ridimensionarsi in relazione allo ShapeElement padre. (Ereditato da ShapeField) | |
DefaultAccessibleDescription | Ottiene o imposta la descrizione accessibile predefinita. (Ereditato da ShapeField) | |
DefaultAccessibleName | Ottiene o imposta il nome predefinito del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField) | |
DefaultAccessibleState | Ottiene lo stato predefinito del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField) | |
DefaultBackgroundBrushId | Ottiene o imposta l'ID del pennello predefinito per lo sfondo del campo della forma. (Ereditato da ShapeField) | |
DefaultFocusable | Ottiene il campo della forma e verifica se può ricevere lo stato attivo oppure fornisce al campo la possibilità di ricevere lo stato attivo. (Ereditato da ShapeField) | |
DefaultImage | Ottiene o imposta l'immagine predefinita associata a ImageField.L'immagine predefinita può essere personalizzata mediante l'override del metodo GetDisplayImage. | |
DefaultInactiveSelectedBackgroundBrushId | Ottiene o imposta l'ID del pennello per lo sfondo predefinito del campo della forma. (Ereditato da ShapeField) | |
DefaultPenId | Ottiene o imposta l'ID della penna predefinita per il campo della forma. (Ereditato da ShapeField) | |
DefaultReflectParentFocusedState | Ottiene il campo della forma figlio e verifica se deve ricevere lo stato attivo quando lo riceve la relativa forma padre oppure imposta la possibilità di riflettere lo stato attivo della forma padre. (Ereditato da ShapeField) | |
DefaultReflectParentSelectedState | Ottiene il campo della forma figlio e verifica se deve essere selezionato quando viene selezionata la relativa forma padre oppure imposta la possibilità di riflettere lo stato di selezione della forma padre. (Ereditato da ShapeField) | |
DefaultSelectable | Ottiene il campo della forma e verifica se può essere selezionato per impostazione predefinita oppure imposta lo stato di selezione predefinita del campo della forma. (Ereditato da ShapeField) | |
DefaultSelectedBackgroundBrushId | Ottiene o imposta l'ID del pennello per lo sfondo predefinito del campo della forma. (Ereditato da ShapeField) | |
DefaultUnscaled | Ottiene o imposta se l'immagine deve essere disegnata ridimensionata o meno rispetto ai limiti di questo campo. | |
DefaultVisibility | Ottiene il campo della forma e verifica se viene visualizzato per impostazione predefinita oppure imposta la visibilità predefinita del campo della forma. (Ereditato da ShapeField) | |
Name | Ottiene il nome del campo della forma. (Ereditato da ShapeField) |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
AccessibleDoDefaultAction | Esegue l'azione predefinita per l'oggetto accessibile. (Ereditato da ShapeField) | |
AllowInPlaceEditorAutoSize | Consente di definire automaticamente le dimensioni per l'editor sul posto nel campo della forma. (Ereditato da ShapeField) | |
AssociateValueWith(Store, AssociatedPropertyInfo) | Associa il campo di forma con una proprietà del dominio assegnata a un elemento di forma. (Ereditato da ShapeField) | |
AssociateValueWith(Store, Guid) | Associa il campo di forma con una proprietà del dominio assegnata a un elemento di forma. (Ereditato da ShapeField) | |
AssociateValueWith(Store, Guid, AssociatedPropertyInfo) | Associa il campo di forma con una proprietà del dominio assegnata a un elemento di forma. (Ereditato da ShapeField) | |
AssociateVisibilityWith(Store, AssociatedPropertyInfo) | Associa la visibilità del campo forma a una proprietà del dominio assegnata a un elemento di forma. (Ereditato da ShapeField) | |
AssociateVisibilityWith(Store, Guid) | Associa la visibilità del campo forma a una proprietà del dominio assegnata a un elemento di forma. (Ereditato da ShapeField) | |
AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) | Associa la visibilità del campo forma a una proprietà del dominio assegnata a un elemento di forma. (Ereditato da ShapeField) | |
CanEditValue | Ottiene il campo della forma e verifica se può essere modificato. (Ereditato da ShapeField) | |
CommitPendingEdit | Esegue il commit della modifica in sospeso. (Ereditato da ShapeField) | |
DoHitTest | Esegue un hit test su un punto specificato nel diagramma per determinare se il punto si trova entro i limiti del campo della forma. (Ereditato da ShapeField) | |
DoKeyboardNavigation | Consente di spostarsi nel campo della forma utilizzando la tastiera. (Ereditato da ShapeField) | |
DoPaint | Disegna il contenuto di ShapeField. (Esegue l'override di ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement)). | |
EditValue(ShapeElement, DiagramClientView) | Apre l'editor sul posto per il campo della forma. (Ereditato da ShapeField) | |
EditValue(ShapeElement, DiagramClientView, PointD) | Apre l'editor sul posto per il campo della forma. (Ereditato da ShapeField) | |
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) | |
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) | |
FindFirstChild | Individuare il primo campo figlio della forma nel campo padre della forma. (Ereditato da ShapeField) | |
FindLastChild | Individuare l'ultimo campo figlio della forma nel campo padre della forma. (Ereditato da ShapeField) | |
FindNextChild | Individuare il successivo campo figlio della forma nel campo padre della forma. (Ereditato da ShapeField) | |
FindNextInChildSubFields | Individuare il successivo campo figlio della forma nella sequenza di navigazione. (Ereditato da ShapeField) | |
FindPreviousChild | Individuare il precedente campo figlio della forma nel campo padre della forma. (Ereditato da ShapeField) | |
FindPreviousInChildSubFields | Individuare il precedente campo figlio della forma nella sequenza di navigazione. (Ereditato da ShapeField) | |
Focused | Ottiene il campo della forma e verifica se è nello stato attivo. (Ereditato da ShapeField) | |
GetAccessibilityObject | Ottiene l'oggetto Accessibility assegnato al campo della forma. (Ereditato da ShapeField) | |
GetAccessibleChild | Ottiene l'oggetto Accessibility per il campo figlio della forma. (Ereditato da ShapeField) | |
GetAccessibleChildCount | Ottiene il numero di oggetti Accessibility assegnati al campo della forma padre e ai relativi campi della forma figlio. (Ereditato da ShapeField) | |
GetAccessibleDefaultActionDescription | Ottiene lo scopo predefinito del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField) | |
GetAccessibleDescription | Restituisce la descrizione accessibile predefinita per un campo immagine. (Esegue l'override di ShapeField.GetAccessibleDescription(ShapeElement)). | |
GetAccessibleHelp | Ottiene la Guida del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField) | |
GetAccessibleHelpTopicFileName | Ottiene un argomento della Guida per l'oggetto accessibile. (Ereditato da ShapeField) | |
GetAccessibleHelpTopicId | Ottiene l'ID assegnato all'argomento della Guida per l'oggetto accessibile. (Ereditato da ShapeField) | |
GetAccessibleName | Restituisce il nome accessibile predefinito per un campo immagine. (Esegue l'override di ShapeField.GetAccessibleName(ShapeElement)). | |
GetAccessibleRole | Recupera il ruolo accessibile di questo ShapeField. (Esegue l'override di ShapeField.GetAccessibleRole(ShapeElement)). | |
GetAccessibleState | Ottiene lo stato del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField) | |
GetAccessibleValue | Ottiene il valore nel campo della forma per l'oggetto accessibile. (Ereditato da ShapeField) | |
GetActiveInPlaceEditor | Ottiene l'editor sul posto attivo. (Ereditato da ShapeField) | |
GetBackgroundBrush | Ottiene il pennello che consente di disegnare lo sfondo dell'elemento della forma a cui questo campo di forma è assegnato. (Ereditato da ShapeField) | |
GetBackgroundBrushId | Ottiene l'ID del pennello che consente di disegnare lo sfondo dell'elemento della forma a cui è assegnato questo campo della forma. (Ereditato da ShapeField) | |
GetBounds | Ottiene i limiti assoluti per il campo della forma. (Ereditato da ShapeField) | |
GetCursor | Ottiene il puntatore che viene visualizzato quando il mouse punta sul campo della forma. (Ereditato da ShapeField) | |
GetDisplayImage | Ottiene l'immagine che deve essere visualizzata da questo campo. | |
GetFocusable | Ottiene il campo della forma e verifica se può ricevere lo stato attivo. (Ereditato da ShapeField) | |
GetHashCode | Funge da funzione hash predefinita. (Ereditato da Object) | |
GetInPlaceEditorBounds | Ottiene i limiti per l'editor sul posto. (Ereditato da ShapeField) | |
GetMaximumInPlaceEditorSize | Ottiene i limiti massimi per l'editor sul posto. (Ereditato da ShapeField) | |
GetMinimumInPlaceEditorSize | Ottiene i limiti minimi per l'editor sul posto. (Ereditato da ShapeField) | |
GetMinimumSize | Restituisce la dimensione minima di ImageField. (Esegue l'override di ShapeField.GetMinimumSize(ShapeElement)). | |
GetPen | Ottiene la penna che consente di disegnare l'elemento della forma a cui è assegnato il campo della forma. (Ereditato da ShapeField) | |
GetPenId | Ottiene l'ID della penna che consente di disegnare l'elemento della forma a cui è assegnato il campo della forma. (Ereditato da ShapeField) | |
GetPotentialMouseAction | Ottiene l'azione del mouse da attivare quando l'utente fa clic su un punto specifico nel diagramma. (Ereditato da ShapeField) | |
GetSelectable | Ottiene il campo della forma e verifica se può essere selezionato. (Ereditato da ShapeField) | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
GetUnscaled | Ottiene se l'immagine deve essere disegnata non ridimensionata o meno. | |
GetValue | Ottiene il valore nel campo della forma. (Ereditato da ShapeField) | |
GetValueDomainPropertyInfo | Ottiene la proprietà di dominio assegnata al valore nel campo della forma. (Ereditato da ShapeField) | |
GetVisible | Ottiene il campo della forma e verifica se è visibile. (Ereditato da ShapeField) | |
HasFocusedAppearance | Ottiene il campo della forma e verifica se deve apparire come nello stato attivo. (Ereditato da ShapeField) | |
HasPendingEdit | Ottiene il campo della forma e verifica se il relativo editor sul posto è attivo e se è in corso una modifica. (Ereditato da ShapeField) | |
HasSelectedAppearance | Ottiene il campo della forma e verifica se appare selezionato. (Ereditato da ShapeField) | |
IsNavigationKey(Char) | Ottiene il tasto premuto dall'utente e verifica se può essere utilizzato per spostarsi tra i campi della forma. (Ereditato da ShapeField) | |
IsNavigationKey(Keys) | Ottiene i tasti premuti dall'utente e verifica se possono essere utilizzati per spostarsi tra i campi della forma. (Ereditato da ShapeField) | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
NavigateAscend | Sposta lo stato attivo sul precedente campo di forma nella sequenza di navigazione delle forme selezionate. (Ereditato da ShapeField) | |
NavigateDescend | Sposta lo stato attivo sul successivo campo di forma nella sequenza di navigazione delle forme selezionate. (Ereditato da ShapeField) | |
NavigateToFirst | Sposta lo stato attivo sul primo campo di forma nella sequenza di navigazione delle forme selezionate. (Ereditato da ShapeField) | |
NavigateToLast | Sposta lo stato attivo sull'ultimo campo di forma nella sequenza di navigazione delle forme selezionate. (Ereditato da ShapeField) | |
NavigateToNext | Sposta lo stato attivo sul successivo campo di forma nella sequenza di navigazione delle forme selezionate. (Ereditato da ShapeField) | |
NavigateToPrevious | Sposta lo stato attivo sul precedente campo di forma nella sequenza di navigazione delle forme selezionate. (Ereditato da ShapeField) | |
OnBeginEdit | Avvisa i listener quando la modifica sul posto è iniziata. (Ereditato da ShapeField) | |
OnClick | Avvisa i listener quando l'utente ha fatto clic su un campo di forma. (Ereditato da ShapeField) | |
OnDoubleClick | Avvisa i listener quando l'utente ha fatto doppio clic su un campo di forma. (Ereditato da ShapeField) | |
OnEndEdit | Avvisa i listener quando la modifica sul posto è terminata. (Ereditato da ShapeField) | |
OnKeyDown | Avvisa i listener quando l'utente ha mantenuto premuto un tasto puntando a un campo di forma. (Ereditato da ShapeField) | |
OnKeyPress | Avvisa i listener quando l'utente ha premuto un tasto puntando a un campo di forma. (Ereditato da ShapeField) | |
OnKeyUp | Avvisa i listener quando l'utente ha rilasciato un tasto puntando a un campo di forma. (Ereditato da ShapeField) | |
OnMouseDown | Avvisa i listener quando l'utente sta tenendo premuto il pulsante del mouse su un campo di forma. (Ereditato da ShapeField) | |
OnMouseMove | Avvisa i listener quando il mouse è stato spostato su un campo di forma. (Ereditato da ShapeField) | |
OnMouseUp | Avvisa i listener quando l'utente ha rilasciato il pulsante del mouse su un campo di forma. (Ereditato da ShapeField) | |
OnMouseWheel | Avvisa i listener quando il mouse è stato ruotato su un campo di forma. (Ereditato da ShapeField) | |
Selected | Ottiene il campo della forma e verifica se è selezionato. (Ereditato da ShapeField) | |
SetSelectionRange | Imposta la selezione su un intervallo di campi forma figlio. (Ereditato da ShapeField) | |
SetValue | Assegna un valore specificato al campo della forma. (Ereditato da ShapeField) | |
SetVisible | Imposta la visibilità del campo forma. (Ereditato da ShapeField) | |
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 viene visualizzato viene gestito da un ImageField. Per esempi di inizializzazione di ImageFields e altri controlli ShapeFields, ispezionare Dsl\GeneratedCode\Shapes.cs nella soluzione DSL.
Un ImageField è un oggetto che gestisce un'area all'interno della forma, come lo spazio disponibile a un elemento decorator. Un'istanza di ImageField è condivisa tra varie forme della stessa classe shape. L'istanza di ImageField non sono memorizzati un'immagine separata per ogni forma: invece, il metodo di GetDisplayImage(ShapeElement) assume il formato come parametro e può trovare il dipendente di immagine allo stato corrente della forma e dell'elemento del modello.
Se si desidera ripristinare il comportamento speciale ad esempio un'immagine variabile, è possibile creare una classe derivata da ImageField.
Per creare una sottoclasse di ImageField
Impostare la proprietà di Genera il doppio derivato della classe padre di forma nella definizione di linguaggio.
Eseguire l'override del metodo di InitializeShapeFields della classe shape.
- Creare un nuovo file di codice nel progetto di modello DSL e scrivere una definizione di classe parziale per la classe shape. Eseguire l'override della definizione del metodo corrente.
Esaminare il codice di InitializeShapeFields in \ DSL GeneratedCode \ Shapes.cs.
Nel metodo di override, chiamare il metodo di base e quindi creare un'istanza di una classe di campo immagine. Utilizzare questo metodo per sostituire il campo normale di immagine nell'elenco di shapeFields.
Esempi
Questo esempio fa un dipendente della modifica dell'icona stato dell'elemento del modello della forma.
Avviso
In questo esempio viene illustrato come eseguire 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 vari elementi decorativi di immagine, li trova nella stessa posizione sulla forma e impostare il filtro di visibilità per dipendere dai valori specifici della variabile di modello.Per impostare questo filtro, selezionare la mappa di formato nella definizione di linguaggio specifico di dominio, aprire la finestra dettagli di DSL e fare clic sulla scheda elementi decorativi.
Per eseguire questo codice di esempio, creare una nuova soluzione DSL utilizzando il modello minimo di linguaggio. Aggiungere una proprietà booleana AlternateState del dominio alla classe di dominio di ExampleElement. Aggiungere un elemento decorator di un'icona alla classe di ExampleShape e impostare la proprietà un'immagine in un file bitmap. Fare clic Trasforma 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 deve essere visualizzato. Selezionare la forma, quindi nella Finestra Proprietà modificare il valore della proprietà di AlternateState. 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.