Export (0) Print
Expand All

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


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.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
© 2015 Microsoft