public LogWindowViewModel() { EventLogger.Changed += EventLogged; LogFiles = EventLogger.GetLogFiles(); SelectedLogFileIndex = 0; SelectedModeIndex = 0; }
/// <summary> /// Updates the logs to reflect a new event being logged /// </summary> /// <param name="sender">The sender of the event</param> /// <param name="e">The event log arguments</param> public void EventLogged(object sender, EventLoggedArgs e) { if (!_logFiles.Contains(e.Filename)) { var currentlySelected = _logFiles[_selectedLogFileIndex]; LogFiles = EventLogger.GetLogFiles(); SelectedLogFileIndex = Array.IndexOf(LogFiles, currentlySelected); } if (e.Filename != LogFiles[SelectedLogFileIndex]) { return; } var temp = new string[Logs.Length + 1]; for (var i = 0; i < Logs.Length; i++) { temp[i] = Logs[i]; } temp[Logs.Length] = e.EventLog; Logs = temp; }