PreferredWidth Class

Represents a value and its unit of measure that is used to specify the preferred width of a table or a cell.

ExpandedInheritance Hierarchy

SystemObject
  Aspose.Words.TablesPreferredWidth

Namespace:  Aspose.Words.Tables
Assembly:  Aspose.Words (in Aspose.Words.dll) Version: 21.11.0

ExpandedSyntax

public sealed class PreferredWidth

The PreferredWidth type exposes the following members.

ExpandedProperties

  NameDescription
Public propertyCode exampleType
Gets the unit of measure used for this preferred width value.
Public propertyCode exampleValue
Gets the preferred width value. The unit of measure is specified in the Type property.

ExpandedMethods

  NameDescription
Public methodCode exampleEquals(Object)
Determines whether the specified object is equal in value to the current object.
(Overrides ObjectEquals(Object).)
Public methodCode exampleEquals(PreferredWidth)
Determines whether the specified PreferredWidth is equal in value to the current PreferredWidth.
Public methodStatic memberCode exampleFromPercent
A creation method that returns a new instance that represents a preferred width specified as a percentage.
Public methodStatic memberCode exampleFromPoints
A creation method that returns a new instance that represents a preferred width specified using a number of points.
Public methodCode exampleGetHashCode
Serves as a hash function for this type.
(Overrides ObjectGetHashCode.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodCode exampleToString
Returns a user-friendly string that displays the value of this object.
(Overrides ObjectToString.)

ExpandedFields

  NameDescription
Public fieldStatic memberCode exampleAuto
Returns an instance that represents the "preferred width is not specified" value.

ExpandedRemarks

Preferred width can be specified as a percentage, number of points or a special "none/auto" value.

The instances of this class are immutable.

ExpandedExamples

Shows how to set a table to auto fit to 50% of the width of the page.
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.InsertCell();
builder.Write("Cell #3");

table.PreferredWidth = PreferredWidth.FromPercent(50);

doc.Save(ArtifactsDir + "DocumentBuilder.InsertTableWithPreferredWidth.docx");
Shows how to set a preferred width for table cells.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.StartTable();

// There are two ways of applying the "PreferredWidth" class to table cells.
// 1 -  Set an absolute preferred width based on points:
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPoints(40);
builder.CellFormat.Shading.BackgroundPatternColor = Color.LightYellow;
builder.Writeln($"Cell with a width of {builder.CellFormat.PreferredWidth}.");

// 2 -  Set a relative preferred width based on percent of the table's width:
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);
builder.CellFormat.Shading.BackgroundPatternColor = Color.LightBlue;
builder.Writeln($"Cell with a width of {builder.CellFormat.PreferredWidth}.");

builder.InsertCell();

// A cell with no preferred width specified will take up the rest of the available space.
builder.CellFormat.PreferredWidth = PreferredWidth.Auto;

// Each configuration of the "PreferredWidth" property creates a new object.
Assert.AreNotEqual(table.FirstRow.Cells[1].CellFormat.PreferredWidth.GetHashCode(),
    builder.CellFormat.PreferredWidth.GetHashCode());

builder.CellFormat.Shading.BackgroundPatternColor = Color.LightGreen;
builder.Writeln("Automatically sized cell.");

doc.Save(ArtifactsDir + "DocumentBuilder.InsertCellsWithPreferredWidths.docx");

ExpandedSee Also