Po serialporcie gadam z urządzeniem zewnętrznym, który wysyła mi string zakończony znakiem specjalnym '\r'. Textbox interpretuje to jako nową linię, zamiast ustawić kursor na początek tej samej linii. W terminalach typu putty działa to dobrze. Wrzucam kod, mam nadzieję, że ktoś pomoże mi to rozgryźć. Spędziłem już an tym kilka godzin, bez postępu.

private void BT_Test_Click(object sender, RoutedEventArgs e)
        {
            serial.PortName = CB_COM.SelectedItem.ToString();
            serial.BaudRate = 38400;
            serial.Handshake = System.IO.Ports.Handshake.None;
            serial.Parity = Parity.None;
            serial.DataBits = 8;
            serial.StopBits = StopBits.One;
            serial.ReadTimeout = 200;
            serial.WriteTimeout = 50;
            serial.Open();
            serial.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(Recieve);
            serial.Write("k");
        }
  private delegate void UpdateUiTextDelegate(string text);
        private void Recieve(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            //recieved_data = serial.ReadExisting();
            //Dispatcher.Invoke(DispatcherPriority.Send, new UpdateUiTextDelegate(WriteData), recieved_data);

            recieved_data = serial.ReadExisting();
            Dispatcher.Invoke(DispatcherPriority.Send, new UpdateUiTextDelegate(WriteData), recieved_data);
        }
        private void WriteData(string text)
        {
           
            TB_Konsola.Text += text;
            
            //TB_Konsola.AppendText(text)
            //TB_Konsola.Focus();
            //TB_Konsola.CaretIndex = TB_Konsola.Text.Length;
            //TB_Konsola.ScrollToEnd();
        }