private void AppendLine(string line) { if (!_active) { return; } Opfer.AppendText(line); Opfer.AppendText(Environment.NewLine); if (_isAtEnd) { ScrollV.ScrollToEnd(); } }
private void Init() { SourceInitialized += (s, e) => { IntPtr handle = (new WindowInteropHelper(this)).Handle; //HwndSource.FromHwnd(handle).AddHook(new HwndSourceHook(WindowProc)); }; ScrollV.ScrollToEnd(); //ScrollV.ScrollChanged += delegate(object sender, ScrollChangedEventArgs args) { args}; MinimizeButton.Click += (s, e) => WindowState = WindowState.Minimized; MaximizeMinimizeButton.Click += (s, e) => WindowState = WindowState == WindowState.Maximized ? WindowState.Normal : WindowState.Maximized; CloseButton.Click += (s, e) => Application.Current.Shutdown(0); }
private void MetroWindow_Loaded(object sender, RoutedEventArgs e) { _active = true; var vm = DataContext as OutputVM; if (vm == null) { return; } lock (vm) { Opfer.AppendText(vm.GetCurrentBufferedOutput()); vm.OutputReceived += OutputReceived; vm.OutputCleared += OutputCleared; ScrollV.ScrollToEnd(); _isAtEnd = true; } }