Freigeben über


ShapeElement.ZOrder-Eigenschaft

Bestimmt die Reihenfolge, in der diese Form relativ zu anderen Formen im Diagramm angezeigt wird.Normalerweise Satz von der Reihenfolge der untergeordneten Forms.

Namespace:  Microsoft.VisualStudio.Modeling.Diagrams
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)

Syntax

'Declaration
Public Overridable Property ZOrder As Double
public virtual double ZOrder { get; set; }

Eigenschaftswert

Typ: System.Double

Hinweise

Sie sollten Sie den Wert nicht direkt festzulegen, weil das Diagramm das ZOrder aller ihrer Forms als Teil des Zeichnens festlegt.Stattdessen um die Reihenfolge zu ändern, in der Forms angezeigt, die Formen in NestedChildShapesoder neu angeordnet werden RelativeChildShapesund rufen Sie dann shape.Diagram.NeedsRenumber = truean.Dadurch wird sichergestellt, dass das Diagramm das ZOrders zurücksetzt.(Siehe nachstehendes Beispiel.)

Beispiele

    /// <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();
          }
        }

Um sicherzustellen, dass die Form immer am oberen Rand des Diagramms angezeigt wird, können Sie wie folgt diese Eigenschaft überschreiben.

/// <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
}

.NET Framework-Sicherheit

Siehe auch

Referenz

ShapeElement Klasse

Microsoft.VisualStudio.Modeling.Diagrams-Namespace