Get Caret Position in a RichTextBox by using RichTextBox.CaretPosition.GetPositionAtOffset : RichTextBox « Windows Presentation Foundation « C# / C Sharp






Get Caret Position in a RichTextBox by using RichTextBox.CaretPosition.GetPositionAtOffset

Get Caret Position in a RichTextBox by using RichTextBox.CaretPosition.GetPositionAtOffset
  



<Window 
  x:Class="WpfApplication1.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="Window1" Height="600" Width="800">
  <DockPanel>
    <StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal">
      <TextBox x:Name="tbxInsertionText" Width="200" Margin="5,0" />
      <Button DockPanel.Dock="Bottom" Content="Insert" Click="btnInsert_Click"/>
    </StackPanel>
    <RichTextBox x:Name="rtbTextContent" />
  </DockPanel>
</Window>
//File:Window.xaml.cs
using System.Windows;
using System.Windows.Documents;
using System.Windows.Input;

namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        private void btnInsert_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(tbxInsertionText.Text))
            {
                return;
            }
            rtbTextContent.BeginChange();
            if (rtbTextContent.Selection.Text != string.Empty)
            {
                rtbTextContent.Selection.Text = string.Empty;
            }
            TextPointer tp = rtbTextContent.CaretPosition.GetPositionAtOffset(0, LogicalDirection.Forward);
            rtbTextContent.CaretPosition.InsertTextInRun(tbxInsertionText.Text);
            rtbTextContent.CaretPosition = tp;
            rtbTextContent.EndChange();
            Keyboard.Focus(rtbTextContent);
        }
    }
}

   
    
  








Related examples in the same category

1.Programmatically Insert Text into a RichTextBoxProgrammatically Insert Text into a RichTextBox
2.Get selected text from RichTextBox by using RichTextBox.Selection.TextGet selected text from RichTextBox by using RichTextBox.Selection.Text
3.Add / Remove TextChanged event for RichTextBoxAdd / Remove TextChanged event for RichTextBox
4.Select all text from RichTextBox and cutSelect all text from RichTextBox and cut
5.Load or Save the Content of a RichTextBoxLoad or Save the Content of a RichTextBox
6.Get the content from the rich text box.Get the content from the rich text box.
7.Apply Syntax Highlighting in a Text ControlApply Syntax Highlighting in a Text Control