We are encountering severe UI thread blocking when using RadOpenFolderDialog during high-volume file operations (concurrent exports).
Technical Findings: After investigating the internal implementation, we identified the root cause in the DialogWindowBase class. Specifically, inside the SetupDialogContent method, the AddWatcher parameter is hardcoded to true.
This forces the underlying DirectoryInfoWrapper to initialize a FileSystemWatcher and unconditionally subscribe to the following events:
- Changed
- Created
- Deleted
- Renamed
Because our application generates a large volume of file events during export, these subscriptions flood the message pump and hang the UI thread.
The Question: Since AddWatcher is hardcoded, is there a supported way (or a workaround via reflection/subclassing) to:
Override SetupDialogContent to pass AddWatcher = false?
Access the DirectoryInfoWrapper instance post-initialization to manually unsubscribe from these events?
We urgently need to stop this component from listening to file system changes to maintain application responsiveness.
Version: 2024.4.1213.462
