TextPointer.CompareTo(TextPointer) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Performs an ordinal comparison between the positions specified by the current TextPointer and a second specified TextPointer.
public:
int CompareTo(System::Windows::Documents::TextPointer ^ position);
public int CompareTo (System.Windows.Documents.TextPointer position);
member this.CompareTo : System.Windows.Documents.TextPointer -> int
Public Function CompareTo (position As TextPointer) As Integer
Parameters
- position
- TextPointer
A TextPointer that specifies a position to compare to the current position.
Returns
-1 if the current TextPointer precedes position
; 0 if the locations are the same; +1 if the current TextPointer follows position
.
Exceptions
position
specifies a position outside of the text container associated with the current position.
Examples
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.
' Tests to see if the specified TextElement is empty (has no printatble content).
Private Function IsElementEmpty(ByVal element As TextElement) As Boolean
' 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).
Dim start As TextPointer = element.ContentStart.GetInsertionPosition(LogicalDirection.Forward)
Dim [end] As TextPointer = 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 Function ' End IsEmptyElement method.
Remarks
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
.