void UpdateLog(WndMain main, LogMessage msg) { DataServerDataContext context = main.DataContext as DataServerDataContext; if (context != null) { Run log = new Run(msg.Time.ToShortTimeString() + " " + msg.Sender + " : " + msg.Message); switch (msg.Type) { case LogMessageType.INFO: log.Foreground = Brushes.Black; break; case LogMessageType.WARN: log.Foreground = Brushes.Blue; break; case LogMessageType.ERROR: log.Foreground = Brushes.Red; break; } context.Logs.Insert(0, log); if (context.Logs.Count > 1000) { context.Logs.RemoveAt(context.Logs.Count - 1); } } }
public WndMain() { InitializeComponent(); _context = new DataServerDataContext(); this.DataContext = _context; _logger = UnityContainerHost.Container.Resolve <IWindowLogger>() as WindowLogger; if (_logger != null) { _logger.NewLogEvent += NewLogEvent; _logger.Info("数据服务器", "程序启动"); } _dataSourceWorker = new BackgroundWorker(); _dataSourceWorker.DoWork += _dataSourceWorker_DoWork; _dataSourceWorker.RunWorkerCompleted += _dataSourceWorker_RunWorkerCompleted; _serverWorker = new BackgroundWorker(); _serverWorker.DoWork += _serverWorker_DoWork; _serverWorker.RunWorkerCompleted += _serverWorker_RunWorkerCompleted; _isStartDataSource = false; _isStartServer = false; }