//Logger Callback private void OnMessageLogged(Logger.LogType logType, string message) { //Determine message color SolidColorBrush colorBrush = Brushes.White; switch (logType) { case Logger.LogType.Warning: colorBrush = Brushes.Yellow; break; case Logger.LogType.Error: colorBrush = Brushes.Red; break; case Logger.LogType.Normal: default: colorBrush = Brushes.White; break; } //Add to textbox TextRange textRange = new TextRange(InfoTextbox.Document.ContentEnd, InfoTextbox.Document.ContentEnd); textRange.Text = "\n" + message; textRange.ApplyPropertyValue(TextElement.ForegroundProperty, colorBrush); //Scroll to the bottom so it can instantly be read InfoTextbox.ScrollToEnd(); }
//Constructor & Destructor public MainWindow() { InitializeComponent(); //Listen to log events Logger.MessagedLoggedEvent += OnMessageLogged; //Setup InfoTextbox InfoTextbox.Document.Blocks.Clear(); InfoTextbox.AppendText("Select input & output files then press convert."); }