FlowDocument.ColumnWidth Property


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

 property double ColumnWidth { double get(); void set(double value); };
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
public double ColumnWidth { get; set; }
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
member this.ColumnWidth : double with get, set
Public Property ColumnWidth As Double

Property Value


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



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


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.

XAML Attribute Usage

<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.

Dependency Property Information

Identifier field ColumnWidthProperty
Metadata properties set to true AffectsRender

Applies to