private void updateDownloadTransferListView(DownloadFileInfo info, bool isDone) { if (!isDone) { TransferFile newFile = new TransferFile(); newFile = TempChoosedFile; Dispatcher.BeginInvoke(new Action(delegate() { newFile.Status = info.Status; FileTransferListView.Items.Add(newFile); FileTransferListView.Items.Refresh(); })); } else { Dispatcher.BeginInvoke(new Action(delegate() { foreach (TransferFile line in FileTransferListView.Items) { if (line.FileName.Equals(info.FileName)) { line.Status = info.Status; line.Time = info.Time; line.Kbps = info.Kbps; _userLogic.UpdateUserTransferFilesLogic(line.FileName, MyUser.UserName); _fileLogic.CopyFileByPaths(line.FileName, downloadPath, uploadPath); } } FileTransferListView.Items.Refresh(); })); } TempChoosedFile = null; }