У меня есть код, который отслеживает изменения в файловой системе и обновляет контейнер представлений файлов. По большей части все работает, пока вы не переименуете каталог. Я ожидал бы получить событие переименования для всех файлов и подпапок переименованного каталога, поскольку у них есть новые пути, но я получаю только одно сообщение о том, что родительский каталог изменил имена. Есть ли событие, которое я забыл, или флаг, который нужно установить? В настоящее время я занимаюсь переименованием каталога и перебираю свою коллекцию, чтобы обновить файлы до нового имени, но мне кажется, что вместо этого должно быть что-то для получения уведомлений для каждого файла.
Мои настройки:
FileSystemWatcher watcher = new FileSystemWatcher(item.Path);
watcher.EnableRaisingEvents = true;
watcher.Created += new System.IO.FileSystemEventHandler(OnMediaCreated);
watcher.Deleted += new System.IO.FileSystemEventHandler(OnMediaDeleted);
watcher.Changed += new System.IO.FileSystemEventHandler(OnMediaChanged);
watcher.Renamed += new System.IO.RenamedEventHandler(OnMediaRenamed);