public MainWindow() { InitializeComponent(); OutputScrollViewer.ScrollToEnd(); monitor = new Monitor(Output); canStart = !monitor.IsRunning; monitor.StartRunning += delegate { canStart = false; Application.Current.Dispatcher.Invoke(new Action(() => ToggleMonitor.Content = "Stop")); }; monitor.StopRunning += delegate { canStart = true; Application.Current.Dispatcher.Invoke(new Action(() => ToggleMonitor.Content = "Start")); }; }
private void SetupAutoScroll() { DependencyPropertyDescriptor .FromProperty(TextBlock.TextProperty, typeof(TextBlock)) .AddValueChanged(OutputTextBlock, (sender, args) => OutputScrollViewer.ScrollToEnd()); }
private void OnOutputChanged(object sender, DataTransferEventArgs e) { OutputScrollViewer.ScrollToEnd(); }
private void AppendRichText(string message) { OutputRichTextBox.AppendText(String.Format("<{0:yyyy/MM/dd HH:mm:ss}>\n", DateTime.Now)); OutputRichTextBox.AppendText(message); OutputScrollViewer.ScrollToEnd(); }