FlowDocument.ColumnWidth Property

Gets or sets the minimum desired width of the columns in a FlowDocument. This is a dependency property.

Namespace:  System.Windows.Documents
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
[TypeConverterAttribute(typeof(LengthConverter))]
public double ColumnWidth { get; set; }
<object ColumnWidth="double"/>
- or -
<object ColumnWidth="qualifiedDouble"/>
- or -
<object ColumnWidth="Auto"/>

XAML Values

double

Double

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.

qualifiedDouble

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

Auto

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

ColumnWidthProperty

Metadata properties set to true

AffectsRender

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.

For a sample that explores the ColumnWidth property in real time, see Optimal Paragraph and Hyphenation in a FlowDocument Sample.

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

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

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;

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

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

.NET Framework

Supported in: 3.5, 3.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft