FlowDocument.IsColumnWidthFlexible Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets or sets a value that indicates whether the ColumnWidth value is flexible or fixed.

Namespace:   System.Windows.Documents
Assembly:  PresentationFramework (in PresentationFramework.dll)

public bool IsColumnWidthFlexible { get; set; }

Property Value

Type: System.Boolean

true if the column width is flexible; false if the column width is fixed. The default is true.

The IsColumnWidthFlexible property determines the manner in which any excess content area width (that is, the difference between the page width and the width of the content after it is laid out) is distributed among columns. A setting of true means that the extra space is distributed equally to each column; in this case, columns may be sized wider than the width specified by the ColumnWidth property. A setting of false means excess space is distributed to the padding on the right side of the page; in this case, columns will always size to the width specified by the ColumnWidth property (so long as that width is smaller than the width of the page minus any PagePadding).

The following figure illustrates the difference in layout when this property is true or false. Light blue represents columns of content in a FlowDocument.

Screenshot: Compare IsColumnWidthFlexible values

The following example shows how to set the IsColumnWidthFlexible attribute of a FlowDocument element.

      If <Bold>IsColumnWidthFlexible</Bold> is false, this FlowDocument will always
      have 4 columns of width 100.  Because <Bold>IsColumnWidthFlexible</Bold> is true,
      this FlowDocument may be laid out such that the width of the is more than 100, resluting in
      fewer than 4 columns.

The following example shows how to set the IsColumnWidthFlexible property programmatically.

FlowDocument flowDoc = new FlowDocument(new Paragraph(new Run("A bit of text content...")));
// Set minimum column width to 140 pixels.
flowDoc.IsColumnWidthFlexible = true;

.NET Framework
Available since 3.0
Return to top