RichTextBox.CaretPosition Property
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.
Gets or sets the position of the input caret.
public:
property System::Windows::Documents::TextPointer ^ CaretPosition { System::Windows::Documents::TextPointer ^ get(); void set(System::Windows::Documents::TextPointer ^ value); };
public System.Windows.Documents.TextPointer CaretPosition { get; set; }
member this.CaretPosition : System.Windows.Documents.TextPointer with get, set
Public Property CaretPosition As TextPointer
Property Value
A TextPointer object specifying the position of the input caret.
By default, the caret is at the first insertion position at the beginning of the content hosted by the RichTextBox. See TextPointer for more information on text position terminology like "insertion position".
Exceptions
An attempt is made to set this property to null
.
An attempt is made to set this property to a TextPointer that references a position outside of the current document.
Examples
The following example illustrates the use of this property.
// Create a new FlowDocument, and add 3 paragraphs.
FlowDocument flowDoc = new FlowDocument();
flowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 1")));
flowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 2")));
flowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 3")));
// Set the FlowDocument to be the content for a new RichTextBox.
RichTextBox rtb = new RichTextBox(flowDoc);
// Get the current caret position.
TextPointer caretPos = rtb.CaretPosition;
// Set the TextPointer to the end of the current document.
caretPos = caretPos.DocumentEnd;
// Specify the new caret position at the end of the current document.
rtb.CaretPosition = caretPos;
' Create a new FlowDocument, and add 3 paragraphs.
Dim flowDoc As New FlowDocument()
flowDoc.Blocks.Add(New Paragraph(New Run("Paragraph 1")))
flowDoc.Blocks.Add(New Paragraph(New Run("Paragraph 2")))
flowDoc.Blocks.Add(New Paragraph(New Run("Paragraph 3")))
' Set the FlowDocument to be the content for a new RichTextBox.
Dim rtb As New RichTextBox(flowDoc)
' Get the current caret position.
Dim caretPos As TextPointer = rtb.CaretPosition
' Set the TextPointer to the end of the current document.
caretPos = caretPos.DocumentEnd
' Specify the new caret position at the end of the current document.
rtb.CaretPosition = caretPos