ConditionalStyle

ConditionalStyle class

表示应用于具有指定表格样式的表格某些区域的特殊格式。

要了解更多信息,请访问使用表格文档文章。

public sealed class ConditionalStyle

特性

姓名描述
Borders { get; }获取条件样式的默认单元格边框的集合。
BottomPadding { get; set; }获取或设置要在表格单元格内容下方添加的空间量(以磅为单位)。
Font { get; }获取条件样式的字符格式。
LeftPadding { get; set; }获取或设置要添加到表格单元格内容左侧的空间量(以磅为单位)。
ParagraphFormat { get; }获取条件样式的段落格式。
RightPadding { get; set; }获取或设置要添加到表格单元格内容右侧的空间量(以磅为单位)。
Shading { get; }获得Shading引用此条件样式的着色格式的对象。
TopPadding { get; set; }获取或设置要在表格单元格内容上方添加的空间量(以磅为单位)。
Type { get; }获取与此条件样式相关的表区域。

方法

姓名描述
ClearFormatting()清除此条件样式的格式。
override Equals(object)将此条件样式与指定对象进行比较。
override GetHashCode()计算该对象的哈希码。

例子

展示如何使用表格的某些区域样式。

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

Table table = builder.StartTable();
builder.InsertCell();
builder.Write("Cell 1");
builder.InsertCell();
builder.Write("Cell 2");
builder.EndRow();
builder.InsertCell();
builder.Write("Cell 3");
builder.InsertCell();
builder.Write("Cell 4");
builder.EndTable();

// 创建自定义表格样式。
TableStyle tableStyle = (TableStyle)doc.Styles.Add(StyleType.Table, "MyTableStyle1");

// 条件样式是仅影响某些表格单元格的格式更改
// 基于谓词,例如最后一行中的单元格。
// 下面是从“ConditionalStyles”集合中访问表格样式的条件样式的三种方法。
// 1 - 按样式类型:
tableStyle.ConditionalStyles[ConditionalStyleType.FirstRow].Shading.BackgroundPatternColor = Color.AliceBlue;

// 2 - 按索引:
tableStyle.ConditionalStyles[0].Borders.Color = Color.Black;
tableStyle.ConditionalStyles[0].Borders.LineStyle = LineStyle.DotDash;
Assert.AreEqual(ConditionalStyleType.FirstRow, tableStyle.ConditionalStyles[0].Type);

// 3 - 作为属性:
tableStyle.ConditionalStyles.FirstRow.ParagraphFormat.Alignment = ParagraphAlignment.Center;

// 将填充和文本格式应用于条件样式。
tableStyle.ConditionalStyles.LastRow.BottomPadding = 10;
tableStyle.ConditionalStyles.LastRow.LeftPadding = 10;
tableStyle.ConditionalStyles.LastRow.RightPadding = 10;
tableStyle.ConditionalStyles.LastRow.TopPadding = 10;
tableStyle.ConditionalStyles.LastColumn.Font.Bold = true;

// 列出所有可能的样式条件。
using (IEnumerator<ConditionalStyle> enumerator = tableStyle.ConditionalStyles.GetEnumerator())
{
    while (enumerator.MoveNext())
    {
        ConditionalStyle currentStyle = enumerator.Current;
        if (currentStyle != null) Console.WriteLine(currentStyle.Type);
    }
}

// 将包含所有条件样式的自定义样式应用于表格。
table.Style = tableStyle;

// 我们的样式默认应用一些条件样式。
Assert.AreEqual(TableStyleOptions.FirstRow | TableStyleOptions.FirstColumn | TableStyleOptions.RowBands, 
    table.StyleOptions);

// 我们需要通过“StyleOptions”属性自行启用所有其他样式。
table.StyleOptions = table.StyleOptions | TableStyleOptions.LastRow | TableStyleOptions.LastColumn;

doc.Save(ArtifactsDir + "Table.ConditionalStyles.docx");

也可以看看