FlowDocument.ColumnWidth Property


Gets or sets the minimum desired width of the columns in a FlowDocument.

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

[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
public double ColumnWidth { get; set; }

Property Value

Type: System.Double

The minimum desired column width, in device independent pixels. A value of Double.NaN causes only one column to be displayed, regardless of the page width. The default is Double.NaN.

A FlowDocument dynamically adjusts its contents to maximize content presentation within the available display space. The number of visible columns is determined by the number of columns that can fit in available display space, given the minimum column width specified by this property. The actual column width may be greater than the value specified by this property.

Changing the size of the window in either direction will result in columns being dynamically regenerated to make the best use of space. In this way, the content dynamically adapts to the user's environment.

<object ColumnWidth="double"/>
- or -
<object ColumnWidth="qualifiedDouble"/>
- or -
<object ColumnWidth="Auto"/>



String representation of a Double value equal to or greater than 0.0 but smaller than Double.PositiveInfinity. An unqualified value is measured in device independent pixels. Strings need not explicitly include decimal points.


A double value as described above, (excepting Auto) followed by one of the following unit specifiers: px, in, cm, pt.

px (default) is device-independent units (1/96th inch per unit)

in is inches; 1in==96px

cm is centimeters; 1cm==(96/2.54) px

pt is points; 1pt==(96/72) px


Causes column width to be automatically calculated to be 20 times the current FontSize.

Identifier field


Metadata properties set to true


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

  <FlowDocument ColumnWidth="140.0">
      Columns of content within a page in this FlowDocument will be at least 140 pixels wide.

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

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

.NET Framework
Available since 3.0
Return to top