Mega Code Archive

 
Categories / C# / WPF
 

Programmatically Insert Text into a RichTextBox

<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);         }     } }