public void SystemLogUpdateEventHandler(object sender, SystemLogUpdateEventArgs e) { if (e.Log != null) { _m.SystemLogs.Add(e.Log); } else if (e.Logs != null) { // e.Logs foreach (LogModel.SystemLog dbLog in e.Logs) { _m.SystemLogs.Add(dbLog); } } else { Debug.Assert(false, $"Invalid {nameof(SystemLogUpdateEventArgs)}"); } Application.Current.Dispatcher.Invoke(() => { _m.SystemLogsSelectedIndex = SystemLogListView.Items.Count - 1; SystemLogListView.UpdateLayout(); SystemLogListView.ScrollIntoView(SystemLogListView.Items[_m.SystemLogsSelectedIndex]); }); }
public LogWindow(int selectedTabIndex = 0) { Interlocked.Increment(ref LogWindow.Count); DataContext = _m; InitializeComponent(); _m.SelectedTabIndex = selectedTabIndex; _m.Logger.SystemLogUpdated += SystemLogUpdateEventHandler; _m.Logger.BuildInfoUpdated += BuildInfoUpdateEventHandler; _m.Logger.ScriptUpdated += ScriptUpdateEventHandler; _m.Logger.BuildLogUpdated += BuildLogUpdateEventHandler; _m.Logger.VariableUpdated += VariableUpdateEventHandler; _m.Logger.FullRefresh += FullRefreshEventHandler; // Read Build-Full log column layout ReadLayoutFromSetting(); SystemLogListView.UpdateLayout(); if (1 < SystemLogListView.Items.Count) { int idx = SystemLogListView.Items.Count - 1; SystemLogListView.ScrollIntoView(SystemLogListView.Items[idx]); } }
public void SystemLogUpdateEventHandler(object sender, SystemLogUpdateEventArgs e) { Application.Current.Dispatcher.Invoke(() => { m.SystemLogListModel.Add(e.Log); m.SystemLogListSelectedIndex = m.SystemLogListModel.Count - 1; SystemLogListView.UpdateLayout(); SystemLogListView.ScrollIntoView(SystemLogListView.Items[m.SystemLogListSelectedIndex]); }); m.OnPropertyUpdate("SystemLogListModel"); }
public LogWindow(int selectedTabIndex = 0) { Interlocked.Increment(ref LogWindow.Count); InitializeComponent(); DataContext = m; m.SelectedTabIndex = selectedTabIndex; m.Logger.SystemLogUpdated += SystemLogUpdateEventHandler; m.Logger.BuildInfoUpdated += BuildInfoUpdateEventHandler; m.Logger.PluginUpdated += PluginUpdateEventHandler; m.Logger.BuildLogUpdated += BuildLogUpdateEventHandler; m.Logger.VariableUpdated += VariableUpdateEventHandler; SystemLogListView.UpdateLayout(); if (1 < SystemLogListView.Items.Count) { SystemLogListView.ScrollIntoView(SystemLogListView.Items[SystemLogListView.Items.Count - 1]); } }