I have a simple application that uses a SystemFileWatcher to monitor a single directory for inbound files. It detects and processes the files into our system. All of this it does 100% accurately and reliably.
We now want to "extend" this to show the status of the processing by having the application as a "Status Board" that shows a log of the processing carried out. After processing a file a new log is written to the first row of a Grid on screen so that the process log is displayed in reverse chronological order.
This has been implemented, but even though when followed through in debug the controls are being correctly updated with values (last timestamp, grid entry, processed count etc) the screen itself does not get updated (even though debug shows the controls all having the expected values.
I have tried direct Refresh commands for the controls and for the Screen, but still no change. I am getting no errors when writing the values to the screen controls, and no cross-thread issues either. I say this last one as I have a colleague say "Ah, that's because the Watcher response runs in its own thread", but if that were the case then surely the screen updates would result in a cross-thread error as the controls are created on the main UI thread and not the Watcher thread.
Any ideas why I am not seeing updates to the screen even though they are being made?? What have I missed??