TextPosition
Cursor-like handle to a precise character index within a fixed document page, enabling navigation (by character, word, line, or page) and retrieval of positional metadata.
Definition
Namespace:Telerik.Windows.Documents.Fixed.Text
Assembly:Telerik.Windows.Documents.Fixed.dll
Syntax:
public class TextPosition
Inheritance: objectTextPosition
Constructors
Initializes a new instance of the TextPosition class.
Initializes a new instance of the TextPosition class.
public TextPosition(RadFixedPage page, int index)
The page.
indexintThe index.
Initializes a new instance of the TextPosition class.
Initializes a new instance of the TextPosition class.
Events
Raised immediately after the position changes to a new page/index location.
public event EventHandler PositionChanged
Raised just before the position changes, allowing observers to capture state prior to movement.
public event EventHandler PositionChanging
Methods
Determines whether the specified object is a TextPosition at the same index on the same page (throws if from a different document).
Gets the bounding rectangle of the word containing the current position.
public Rect GetWordBoundingRect()
Rect
The bounding rectangle of the current word.
Moves to the corresponding position in the line below the current line.
public bool MoveLineDown()
True if the move to the line below was successful; otherwise, false.
Moves to the corresponding position in the line above the current line.
public bool MoveLineUp()
True if the move to the line above was successful; otherwise, false.
Moves to the end of the current word.
public bool MoveToCurrentWordEnd()
True if the move to the current word end was successful; otherwise, false.
Moves to the start of the current word.
public bool MoveToCurrentWordStart()
True if the move to the current word start was successful; otherwise, false.
Moves to the end (last position) of the document.
public bool MoveToEndOfDocument()
True if the move to the end of the document was successful; otherwise, false.
Moves to the end of the current line.
public bool MoveToLineEnd()
True if the move to the line end was successful; otherwise, false.
Moves to the start of the current line.
public bool MoveToLineStart()
True if the move to the line start was successful; otherwise, false.
Moves to the next position in the document.
public bool MoveToNextPosition()
True if the move to the next position was successful; otherwise, false.
Moves to the beginning of the next word in the document.
public bool MoveToNextWord()
True if the move to the next word was successful; otherwise, false.
Moves this position to match another valid position within the same document.
public bool MoveToPosition(TextPosition position)
The target position to move to. Must be from the same document.
Returns:True if the move operation was successful; otherwise, false.
Moves to the previous position in the document.
public bool MoveToPreviousPosition()
True if the move to the previous position was successful; otherwise, false.
Moves to the beginning of the previous word in the document.
public bool MoveToPreviousWord()
True if the move to the previous word was successful; otherwise, false.
Moves to the beginning (first position) of the document.
public bool MoveToStartOfDocument()
True if the move to the start of the document was successful; otherwise, false.
Called when TextPosition is changed.
protected virtual void OnPositionChanged()
Called when TextPosition is changing.
protected virtual void OnPositionChanging()
Returns a string showing the current word split at the caret position (text before and after the index separated by '@').
public override string ToString()
A string that represents the current object.
Overrides:
Operators
Returns true if the two positions differ in page or index (must belong to the same document).
public static bool operator !=(TextPosition left, TextPosition right)
Left text position.
rightTextPositionRight text position.
Returns:Returns if the two positions are not equal.
Returns true if the left position precedes the right one in document reading order (same document required).
public static bool operator <(TextPosition left, TextPosition right)
Left text position.
rightTextPositionRight text position.
Returns:Returns if the left position is less than the right position.
Returns true if the left position precedes or equals the right one (positions must originate from the same document).
public static bool operator <=(TextPosition left, TextPosition right)
Left text position.
rightTextPositionRight text position.
Returns:Returns if the left position is less than or equals to the right position.
Returns true if two positions reference the same page and index within the same document.
public static bool operator ==(TextPosition left, TextPosition right)
Left text position.
rightTextPositionRight text position.
Returns:Returns if the two positions are equal.
Returns true if the left position follows the right one in document reading order (same document required).
public static bool operator >(TextPosition left, TextPosition right)
Left text position.
rightTextPositionRight text position.
Returns:Returns if the left position is greater than the right position.
Returns true if the left position follows or equals the right one (positions must originate from the same document).
public static bool operator >=(TextPosition left, TextPosition right)
Left text position.
rightTextPositionRight text position.
Returns:Returns if the left position is greater than or equals to the right position.
Properties
Gets the zero-based character index within the current text page.
public int Index { get; }
The index.
Gets the fixed page that currently contains this text position.
public RadFixedPage Page { get; }
The page.