.NET Framework Class Library
TextBlock..::.LineStackingStrategy Property

Gets or sets the mechanism by which a line box is determined for each line of text within the TextBlock. This is a dependency property.

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

Visual Basic (Declaration)
Public Property LineStackingStrategy As LineStackingStrategy
Visual Basic (Usage)
Dim instance As TextBlock
Dim value As LineStackingStrategy

value = instance.LineStackingStrategy

instance.LineStackingStrategy = value
C#
public LineStackingStrategy LineStackingStrategy { get; set; }
Visual C++
public:
property LineStackingStrategy LineStackingStrategy {
    LineStackingStrategy get ();
    void set (LineStackingStrategy value);
}
JScript
public function get LineStackingStrategy () : LineStackingStrategy
public function set LineStackingStrategy (value : LineStackingStrategy)
XAML Attribute Usage
<object LineStackingStrategy="LineStackingStrategy" .../>

Property Value

Type: System.Windows..::.LineStackingStrategy
The mechanism by which a line box is determined for each line of text within the TextBlock. The default is LineStackingStrategy..::.MaxHeight.
Dependency Property Information

Identifier field

LineStackingStrategyProperty

Metadata properties set to true

AffectsMeasure, AffectsRender

Remarks

This dependency property also has an attached property usage. In XAML, the usage is <object TextBlock..::.LineStackingStrategy="value".../>, where object is an object element (typically a flow element) contained within a TextBlock, and value is a string value of the LineStackingStrategy enumeration. In code, the attached property usage is supported by GetLineStackingStrategy and SetLineStackingStrategy. The attached property usage is not common.

Examples

The following example shows how to use the LineStackingStrategy property to determine how the line boxes are created for text lines of a TextBlock. The first TextBlock has a LineStackingStrategy value of MaxHeight and the second TextBlock has a value of BlockLineHeight.

XAML
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel>

    <!-- This TextBlock has a LineStackingStrategy set to "MaxHeight". -->
    <TextBlock LineStackingStrategy="MaxHeight" LineHeight="10" Width="500" TextWrapping="Wrap" 
     Background="Yellow">
      Use the <Span FontSize="30">LineStackingStrategy</Span> property to determine how a line box is
      created for each line. A value of <Span FontSize="20">MaxHeight</Span> specifies that the stack
      height is the smallest value that contains all the inline elements on that line when those
      elements are properly aligned. A value of <Span FontSize="20">BlockLineHeight</Span> specifies
      that the stack height is determined by the block element LineHeight property value.
    </TextBlock>

    <!-- Here is the same TextBlock but the LineStackingStrategy is set to "BlockLineHeight". -->
    <TextBlock LineStackingStrategy="BlockLineHeight" LineHeight="10" Width="500" TextWrapping="Wrap" 
     Background="Blue" Margin="0,40,0,0">
      Use the <Span FontSize="30">LineStackingStrategy</Span> property to determine how a line box is
      created for each line. A value of <Span FontSize="20">MaxHeight</Span> specifies that the stack
      height is the smallest value that contains all the inline elements on that line when those
      elements are properly aligned. A value of <Span FontSize="20">BlockLineHeight</Span> specifies
      that the stack height is determined by the block element LineHeight property value.
    </TextBlock>

  </StackPanel>
</Page>

The following illustration shows the result of the preceding code.

Screenshot: Compare LineStackingStrategy values
Platforms

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

.NET Framework

Supported in: 3.5, 3.0
See Also

Reference

Tags :


Page view tracker