Partager via


ShapeElement.ZOrder, propriété

Détermine l'ordre dans lequel cette forme sera affichée par rapport à d'autres formes sur le diagramme. Normalement défini depuis l'ordre des formes enfants.

Espace de noms :  Microsoft.VisualStudio.Modeling.Diagrams
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)

Syntaxe

'Déclaration
Public Overridable Property ZOrder As Double
public virtual double ZOrder { get; set; }

Valeur de propriété

Type : System.Double

Notes

Il est recommandé de ne pas définir directement la valeur, car le diagramme définit le ZOrder de toutes ses formes dans le cadre du processus de peinture. À la place, pour modifier l'ordre dans lequel les formes sont affichées, trier à nouveau des formes dans NestedChildShapesou RelativeChildShapes, puis appelez shape.Diagram.NeedsRenumber = true. Ceci que le diagramme réinitialise le ZOrders. Voir l'exemple suivant.

Exemples

    /// <summary>
    /// Command to send current shapes to the back.
    /// </summary>
    private void OnMenuSendShapesToBackCommand(object sender, EventArgs e)
    {
      MenuCommand command = sender as MenuCommand;
      Store store = this.CurrentDocData.Store;
      foreach (object selectedItem in this.CurrentSelection)
      {
        ShapeElement shape = selectedItem as ShapeElement;
        if (shape == null || shape.ParentShape == null) continue;
        if (shape.IsNestedChild)
        {
          using (Transaction t = store.TransactionManager.BeginTransaction("sendToBack"))
          {
            // Make the current shape the first in the list.
            shape.ParentShape.NestedChildShapes.Move(shape, 0);
            // Update the ZOrder of the shapes to reflect the change.
            shape.Diagram.NeedsRenumber = true;
            // Make sure the shape is redrawn:
            shape.Invalidate();
            t.Commit();
          }
        }

Pour vérifier que votre forme s'affiche toujours en haut du diagramme, vous pouvez substituer cette propriété comme suit.

/// <summary>
/// Gets the relative Z-Order for this ShapeElement.
/// Make sure that my shape stays above all other diagram elements.
///  Add a million to the Z-Order that we are given.
/// </summary>
public override double ZOrder
{
  get
  {
    return base.ZOrder + 1e6;
  }
  // leave set{ } as inherited
}

Sécurité .NET Framework

Voir aussi

Référence

ShapeElement Classe

Microsoft.VisualStudio.Modeling.Diagrams, espace de noms