public LogsWindow() { InitializeComponent(); renderAction = logic => { LogsTextBox.Document.Blocks.Clear(); LogsTextBox.Document.Blocks.Add(new Paragraph(new Run(logic.logs.ReadLogs(_processId)))); LogsTextBox.ScrollToEnd(); }; Logics.Logic.Subscribe(renderAction); }
private void UpdateLog() { try { using (var fs = new FileStream("logs.log", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var sr = new StreamReader(fs, Encoding.Default)) { var newContent = sr.ReadToEnd(); if (LogsTextBox.Text != newContent) { LogsTextBox.Text = newContent; LogsTextBox.ScrollToEnd(); } } } catch (Exception e) { // } }
private void RichTextBox_TextChanged(object sender, TextChangedEventArgs e) { LogsTextBox.ScrollToEnd(); }