/// <summary> /// 更新日志 /// </summary> /// <param name="strMessage">日志消息</param> /// <param name="intType">消息类型,默认为0,为1错误操作消息</param> private void UpdateLogContentHandler(string strMessage, int intType = 0) { // intType为1表示这条消息是一条错误操作消息 // 由于_myErrorOperate和_myLogObject之间存在嵌套,为避免初始化的时候出现文件,用条件判断_myErrorOperate是否被初始化来避免 if (this._myErrorOperate != null && intType == 1) { this._myErrorOperate.AddErrorOperateMessage(strMessage); // 识别错误操作的消息,并进行另外处理 strMessage = "--" + strMessage; } string strTime = this._myLogObject.AddLogMessage(strMessage); // 在日志中添加消息 MyLogMessage myLogMessage = new MyLogMessage() { LogTime = strTime, LogMessage = strMessage }; App.Current.Dispatcher.BeginInvoke(this._dlgtUpdateDifThreadParam, myLogMessage); // 使用调度者dispatcher来异步处理多线程,目前用于更新listview绑定的数据 }
/// <summary> /// 异步更新日志数据,目前是用于更新listview绑定的数据 /// </summary> /// <param name="objParameter"></param> private void UpdateDifferentThreadParam(object objParameter) { MyLogMessage myLogMessage = objParameter as MyLogMessage; this._mainDataModel.LogDataList.Insert(0, myLogMessage); }