ConditionalStyle

ConditionalStyle class

Rappresenta una formattazione speciale applicata ad un’area di una tabella con uno stile di tabella assegnato.

public sealed class ConditionalStyle

Proprietà

Nome Descrizione
Borders { get; } Ottiene la raccolta dei bordi delle celle predefiniti per lo stile condizionale.
BottomPadding { get; set; } Ottiene o imposta la quantità di spazio (in punti) da aggiungere sotto il contenuto delle celle della tabella.
Font { get; } Ottiene la formattazione dei caratteri dello stile condizionale.
LeftPadding { get; set; } Ottiene o imposta la quantità di spazio (in punti) da aggiungere a sinistra del contenuto delle celle della tabella.
ParagraphFormat { get; } Ottiene la formattazione del paragrafo dello stile condizionale.
RightPadding { get; set; } Ottiene o imposta la quantità di spazio (in punti) da aggiungere a destra del contenuto delle celle della tabella.
Shading { get; } Ottiene aShading oggetto che fa riferimento alla formattazione dell’ombreggiatura per questo stile condizionale.
TopPadding { get; set; } Ottiene o imposta la quantità di spazio (in punti) da aggiungere sopra il contenuto delle celle della tabella.
Type { get; } Ottiene l’area della tabella a cui si riferisce questo stile condizionale.

Metodi

Nome Descrizione
ClearFormatting() Cancella la formattazione di questo stile condizionale.
override Equals(object)
override GetHashCode() Calcola il codice hash per questo oggetto.

Esempi

Mostra come lavorare con determinati stili di area di una tabella.

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

// Crea uno stile tabella personalizzato.
TableStyle tableStyle = (TableStyle)doc.Styles.Add(StyleType.Table, "MyTableStyle1");

// Gli stili condizionali sono modifiche alla formattazione che interessano solo alcune celle della tabella
// basato su un predicato, ad esempio le celle nell'ultima riga.
// Di seguito sono riportati tre modi per accedere agli stili condizionali di uno stile tabella dalla raccolta "ConditionalStyles".
// 1 - Per tipo di stile:
tableStyle.ConditionalStyles[ConditionalStyleType.FirstRow].Shading.BackgroundPatternColor = Color.AliceBlue;

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

// 3 - Come proprietà:
tableStyle.ConditionalStyles.FirstRow.ParagraphFormat.Alignment = ParagraphAlignment.Center;

// Applica il riempimento e la formattazione del testo agli stili condizionali.
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;

// Elenca tutte le possibili condizioni di stile.
using (IEnumerator<ConditionalStyle> enumerator = tableStyle.ConditionalStyles.GetEnumerator())
{
    while (enumerator.MoveNext())
    {
        ConditionalStyle currentStyle = enumerator.Current;
        if (currentStyle != null) Console.WriteLine(currentStyle.Type);
    }
}

// Applica lo stile personalizzato, che contiene tutti gli stili condizionali, alla tabella.
table.Style = tableStyle;

// Il nostro stile applica alcuni stili condizionali per impostazione predefinita.
Assert.AreEqual(TableStyleOptions.FirstRow | TableStyleOptions.FirstColumn | TableStyleOptions.RowBands, 
    table.StyleOptions);

// Dovremo abilitare noi stessi tutti gli altri stili tramite la proprietà "StyleOptions".
table.StyleOptions = table.StyleOptions | TableStyleOptions.LastRow | TableStyleOptions.LastColumn;

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

Guarda anche