This documentation is archived and is not being maintained.

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; }
<object ColumnWidth="double"/>
- or -
<object ColumnWidth="qualifiedDouble"/>
- or -
<object ColumnWidth="Auto"/>

XAML Values



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.

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.

Identifier field


Metadata properties set to true


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.

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

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.