This documentation is archived and is not being maintained.

TextPointer.CompareTo Method

Performs an ordinal comparison between the positions specified by the current TextPointer and a second specified TextPointer.

Namespace:  System.Windows.Documents
Assembly:  PresentationFramework (in PresentationFramework.dll)

public int CompareTo(
	TextPointer position
You cannot use methods in XAML.


Type: System.Windows.Documents.TextPointer

A TextPointer that specifies a position to compare to the current position.

Return Value

Type: System.Int32
–1 if the current TextPointer precedes position; 0 if the locations are the same; +1 if the current TextPointer follows position.


position specifies a position outside of the text container associated with the current position.

A value of –1 indicates that the position specified by the current TextPointer precedes the position specified by position. A value of 0 indicates that the indicated positions are equal. A value of positive +1 indicates that the position specified by the current TextPointer follows the position specified by position.

The following example demonstrates a use for this method. In the example, the CompareTo method is used in conjunction with the GetInsertionPosition method to test whether a specified TextElement is empty.

// Tests to see if the specified TextElement is empty (has no printatble content). 
bool IsElementEmpty(TextElement element)
    // Find starting and ending insertion positions in the element. 
    // Inward-facing directions are used to make sure that insertion position 
    // will be found correctly in case when the element may contain inline  
    // formatting elements (such as a Span or Run that contains Bold or Italic elements).
    TextPointer start = element.ContentStart.GetInsertionPosition(LogicalDirection.Forward);
    TextPointer end = element.ContentEnd.GetInsertionPosition(LogicalDirection.Backward);

    // The element has no printable content if its first and last insertion positions are equal. 
    return start.CompareTo(end) == 0;

} // End IsEmptyElement method.

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