ZOrder

ShapeBase.ZOrder property

Определяет порядок отображения перекрывающихся фигур.

public int ZOrder { get; set; }

Примечания

Имеет эффект только для фигур верхнего уровня.

Значение по умолчанию — 0.

Число представляет приоритет стека. Фигура с более высоким номером будет отображаться , как если бы она перекрывала («перед» фигуру) с меньшим номером.

Порядок перекрывающихся фигур независим для фигур в заголовке и в тексте main документа.

Порядок отображения дочерних фигур в фигуре группы определяется их order внутри фигуры группы.

Примеры

Показывает, как управлять порядком фигур.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Вставляем три прямоугольника разного цвета, которые частично перекрывают друг друга.
// Когда мы вставляем фигуру, которая перекрывает другую фигуру, Aspose.Words помещает новую фигуру поверх старой.
// Светло-зеленый прямоугольник перекроет светло-голубой прямоугольник и частично закроет его,
// и голубой прямоугольник закроет оранжевый прямоугольник.
Shape shape = builder.InsertShape(ShapeType.Rectangle, RelativeHorizontalPosition.LeftMargin, 100,
    RelativeVerticalPosition.TopMargin, 100, 200, 200, WrapType.None);
shape.FillColor = Color.Orange;

shape = builder.InsertShape(ShapeType.Rectangle, RelativeHorizontalPosition.LeftMargin, 150,
    RelativeVerticalPosition.TopMargin, 150, 200, 200, WrapType.None);
shape.FillColor = Color.LightBlue;

shape = builder.InsertShape(ShapeType.Rectangle, RelativeHorizontalPosition.LeftMargin, 200,
    RelativeVerticalPosition.TopMargin, 200, 200, 200, WrapType.None);
shape.FillColor = Color.LightGreen;

Shape[] shapes = doc.GetChildNodes(NodeType.Shape, true).OfType<Shape>().ToArray();

// Свойство фигуры "ZOrder" определяет ее приоритет наложения среди других перекрывающихся фигур.
// Если две перекрывающиеся фигуры имеют разные значения «ZOrder»,
// Microsoft Word поместит фигуру с более высоким значением поверх фигуры с меньшим значением. 
// Установите значения «ZOrder» для наших фигур, чтобы поместить первый оранжевый прямоугольник поверх второго голубого.
// и второй светло-синий прямоугольник поверх третьего светло-зеленого прямоугольника.
// Это изменит их первоначальный порядок наложения.
shapes[0].ZOrder = 3;
shapes[1].ZOrder = 2;
shapes[2].ZOrder = 1;

doc.Save(ArtifactsDir + "Shape.ZOrder.docx");

Смотрите также