IsLayoutInCell

ShapeBase.IsLayoutInCell property

获取或设置一个标志,指示形状是显示在表格内部还是表格外部。

public bool IsLayoutInCell { get; set; }

评论

默认值为真的

仅对顶级形状有效,该属性WrapType其中设置为 value 除了Inline

例子

演示如何确定如何在表格单元格中显示形状。

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

Table table = builder.StartTable();
builder.InsertCell();
builder.InsertCell();
builder.EndTable();

TableStyle tableStyle = (TableStyle)doc.Styles.Add(StyleType.Table, "MyTableStyle1");
tableStyle.BottomPadding = 20;
tableStyle.LeftPadding = 10;
tableStyle.RightPadding = 10;
tableStyle.TopPadding = 20;
tableStyle.Borders.Color = Color.Black;
tableStyle.Borders.LineStyle = LineStyle.Single;

table.Style = tableStyle;

builder.MoveTo(table.FirstRow.FirstCell.FirstParagraph);

Shape shape = builder.InsertShape(ShapeType.Rectangle, RelativeHorizontalPosition.LeftMargin, 50,
    RelativeVerticalPosition.TopMargin, 100, 100, 100, WrapType.None);

// 将“IsLayoutInCell”属性设置为“true”,以将形状显示为单元格段落内的内联元素。
// 确定形状位置的坐标原点将是形状单元格的左上角。
// 如果我们重新调整单元格的大小,形状将从单元格的左上角开始移动以保持相同的位置。
// 将“IsLayoutInCell”属性设置为“false”,以将形状显示为独立的浮动形状。
// 确定形状位置的坐标原点将是页面的左上角,
// 并且形状不会响应其单元格的任何大小调整。
shape.IsLayoutInCell = isLayoutInCell;

// 我们只能将“IsLayoutInCell”属性应用于浮动形状。
shape.WrapType = WrapType.None;

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

也可以看看