Есть один способ. FileSystemWatcher при включении событий (EnableRaisingEvents = true) создает собственный поток для мониторинга событий FS. Через ISynchronizeInvoke он может, например, асинхронно вызывать членов вашей формы (его поток может асинхронно взаимодействовать с основным потоком - потоком пользовательского интерфейса).
В WPF нет реализации ISynchronizeInvoke, но есть возможность
взаимодействовать с потоком пользовательского интерфейса через свойство Dispatched вашего окна следующим образом:
var fsw = new FileSystemWatcher()
{
//Setting the properties: Path, Filter, NotifyFilter, etc.
};
fsw.Created += (sender, e) =>
{
Dispatcher.Invoke(new Action<params_types>((params_identifiers) =>
{
//here the code wich interacts with your IU elements
}), here_params);
};
//... in this way (via Dispatcher.Invoke) with the rest of events
fsw.EnableRaisingEvents = true;