Redirecting The Command-line To A Text Block
It involves inheriting from the StringWriter class, and overwriting it’s WriteLine function with your own code that writes the text to the text block (or any other text-capable object), rather than Windows writing it to the system console (whatever that may be).
Note that this code is suitable for passing into functions that require a System.IO.Stream, but this does not redirect messages that are being sent directly to the command line.
namespace StringRedirect{    /// <summary>    /// Allows text blocks to appear like a command line for serial out string messages.    /// </summary>    public class TextBlockStreamWriter : StringWriter    {        private TextBlock _textBlock;
        public string Text        {            get            {                return _textBlock.Text;            }            set            {                _textBlock.Text += value;            }        }
        public TextBlockStreamWriter(ref TextBlock t)        {            _textBlock = t;        }
        public override void WriteLine(string msg)        {            Text = msg + "\n";        }    }}