FlowDocument.IsHyphenationEnabled Property

Definition

Gets or sets a value that indicates whether automatic hyphenation of words is enabled or disabled.

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

Property Value

true if automatic breaking and hyphenation of words is enabled; otherwise, false. The default is false.

Examples

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

<FlowDocumentReader>
  <FlowDocument
    TextAlignment="Justify" 
    IsHyphenationEnabled="True"
    IsOptimalParagraphEnabled="True"
    Background="LightGray"
    PageWidth="400" PageHeight="480"
  >
    <Paragraph>
      <Hyperlink NavigateUri="http://www.xbox.com/en-US/games/p/perfectdarkzero/default.htm">
        Perfect Dark Zero
      </Hyperlink>
    </Paragraph>
    <Paragraph>
      Joanna Dark returns in the Xbox 360 exclusive <Bold><Italic>Perfect Dark Zero</Italic></Bold>, the 
      prequel to the internationally award-winning and multi-million selling first-person shooter 
      <Italic>Perfect Dark</Italic> from famed game developer Rare.
    </Paragraph>
    <Paragraph>
      A secret war has begun between shadowy corporations bent on world domination. Joanna Dark and her father 
      Jack are caught up in the fight for the future of the planet. A routine bounty hunting mission rips open 
      a global conspiracy that will change Joanna's destiny—forever.
    </Paragraph>
    <Paragraph>
      Guide Joanna Dark on her journey to become the perfect agent. Featuring a compelling and captivating story, 
      <Italic>Perfect Dark Zero</Italic> plunges you into a world of corporate espionage and conspiracy. The title 
      merges the excitement and intrigue of its predecessor with revolutionary game design, cutting-edge online play,
      and amazing graphics to deliver an experience that defines next-generation gaming and entertainment...
    </Paragraph>
  </FlowDocument>
</FlowDocumentReader>

The following figure shows how the preceding FlowDocument renders.

Screenshot: FlowDocument hyphen enabled

The following figure shows how the same FlowDocument renders with the default setting of IsHyphenationEnabled=false.

Screenshot: FlowDocument with disabled hyphens

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

FlowDocument flowDoc = new FlowDocument(new Paragraph(new Run("A bit of text content...")));

// Enable automatic hyphenation.
flowDoc.IsHyphenationEnabled = true;
// Enable optimal paragraph layout.
flowDoc.IsOptimalParagraphEnabled = true;
Dim flowDoc As New FlowDocument(New Paragraph(New Run("A bit of text content...")))

' Enable automatic hyphenation.
flowDoc.IsHyphenationEnabled = True
' Enable optimal paragraph layout.
flowDoc.IsOptimalParagraphEnabled = True

Remarks

The automatic word hyphenation feature enables a FlowDocument to automatically break and hyphenate words, based on current layout conditions. This enables long words to begin on one line and continue on this next, and tends to achieve a more even distribution of white space in justified text. Words are broken and hyphenated according to standard grammar rules. Automatic hyphenation is particularly effective when coupled with optimal paragraph layout (represented by the IsOptimalParagraphEnabled property).

Dependency Property Information

Identifier field IsHyphenationEnabledProperty
Metadata properties set to true AffectsMeasure, AffectsRender, Inherits

Applies to