private void INPUTBOX_TextChanged(object sender, TextChangedEventArgs e)
        {
            INPUTBOX.ClearValue(TextElement.FontWeightProperty);
            INPUTBOX.ClearValue(TextElement.ForegroundProperty);
            TextRange       tr      = new TextRange(INPUTBOX.Document.ContentStart, INPUTBOX.Document.ContentEnd);
            string          data    = tr.Text;
            MatchCollection matches = Regex.Matches(data, @"[\w]+");
            long            num     = matches.Count;

            WORDCOUNT.Content = num.ToString() + " Words  ";
            //Get Line number in the richtextbox...
            //INPUTBOX.CaretPosition = INPUTBOX.CaretPosition.GetLineStartPosition(0);
            TextPointer caretStart = INPUTBOX.CaretPosition.GetLineStartPosition(0);
            TextPointer tp         = INPUTBOX.Document.ContentStart.GetLineStartPosition(0);
            int         linesCount = 1;

            while (true)
            {
                if (caretStart.CompareTo(tp) < 0)
                {
                    break;
                }
                int result;
                tp = tp.GetLineStartPosition(1, out result);
                if (result == 0)
                {
                    break;
                }
                linesCount++;
            }
            if (linesCount > 9 && linesCount <= 99)
            {
                Thickness tk = INPUTBOX.Margin;
                tk.Left         = 40;
                INPUTBOX.Margin = tk;
                SCROLLNUM.Width = 30;
            }
            else if (linesCount > 99 && linesCount < 1000)
            {
                Thickness tk = INPUTBOX.Margin;
                tk.Left         = 50;
                INPUTBOX.Margin = tk;
                SCROLLNUM.Width = 40;
            }
            else if (linesCount >= 1000)
            {
                MessageBox.Show("Sorry, I cannot deal with so much text!");
            }
            //Display in Another richtextbox
            while (maxLine < linesCount)
            {
                maxLine++;
                SCROLLNUM.AppendText(Environment.NewLine + maxLine.ToString());
            }
            while (maxLine > linesCount)
            {
                maxLine--;
                SCROLLNUM.Document.Blocks.Remove(SCROLLNUM.Document.Blocks.LastBlock);
            }
        }
 private void INPUTBOX_PreviewKeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         INPUTBOX.AppendText("\r");
         INPUTBOX.CaretPosition = (INPUTBOX.CaretPosition.GetLineStartPosition(1) != null ? INPUTBOX.CaretPosition.GetLineStartPosition(1) : INPUTBOX.Document.ContentEnd);
         e.Handled = true;
     }
 }
 private void SELECTALL_Click(object sender, RoutedEventArgs e)
 {
     INPUTBOX.SelectAll();
 }