/// <summary> /// происходит при удалении папки или файла, вызывается асинхронно /// </summary> private void W_Deleted(object sender, FileSystemEventArgs e) { Helpers.mainCTX.Send(_ => { //выпилим файл из разметки Helpers.ConsoleWrite(string.Format("[{0}]{1} : {2}", DateTime.Now.ToString(), e.FullPath, e.ChangeType)); FilesTree.Remove(e.FullPath); }, null); }
private void W_Renamed(object sender, RenamedEventArgs e) { Helpers.mainCTX.Send(_ => { //попросим обновить файл, и т.к. событие может произойти несколько раз, установим флаг проверки даты изменения Helpers.ConsoleWrite(string.Format("[{0}]{1} => {2} : {3}", DateTime.Now.ToString(), e.OldFullPath, e.FullPath, e.ChangeType)); if (!IsIgnored(e.OldFullPath) || !IsIgnored(e.FullPath)) { if (_SolutionsFiles.Contains(e.OldFullPath)) { _SolutionsFiles.Remove(e.OldFullPath); _SolutionsFiles.Add(e.FullPath); } FilesTree.Remove(e.OldFullPath); var f = FilesTree.AddFile(e.FullPath); if (string.Equals(Selected?.FullPath, e.FullPath, StringComparison.InvariantCultureIgnoreCase)) { Selected = f; } } }, null); }