FlowDocument.IsColumnWidthFlexible Property

Definition

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

public:
 property bool IsColumnWidthFlexible { bool get(); void set(bool value); };
public bool IsColumnWidthFlexible { get; set; }
member this.IsColumnWidthFlexible : bool with get, set
Public Property IsColumnWidthFlexible As Boolean

Property Value

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

Examples

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

<FlowDocumentReader>
  <FlowDocument
    IsColumnWidthFlexible="True"
    PageWidth="400"
    ColumnWidth="100"
    PagePadding="0"
  >
    <Paragraph>
      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.
    </Paragraph>
  </FlowDocument>
</FlowDocumentReader>

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;
Dim flowDocColFlex As New FlowDocument(New Paragraph(New Run("A bit of text content...")))
    ' Set minimum column width to 140 pixels.
flowDocColFlex.IsColumnWidthFlexible = True

Remarks

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

Dependency Property Information

Identifier field IsColumnWidthFlexibleProperty
Metadata properties set to true AffectsMeasure

Applies to