The basic function to be created is pretty simple in concept - using MVVM architecture, display an array of bytes such that each byte is displayed as a pair of hexadecimal digits, clearly distinguishable from other digit pairs.. The user can edit a byte by placing the cursor on the byte and typing in digits which overwrite the current byte, control V to copy or control V to paste. Only legal hexadecimal characters are permitted. Cursor keys act in the expected fashion. The UI is tied to a model. When the data in the model is changed it automatically updates the UI and the changed byte(s) are briefly highlighted. When the data in the UI changes the model is automatically updated.
The data itself is 4 units of 32 bytes. I'd like to display the 32 bytes as 2 rows of 16. The 4 units are displayed as a single column of 4 rows, separated by a little bit of cosmetic space.
So, that's the problem to be solved in a nutshell.
To my mind the display of the data sounds like ListBox that contains four data grids, each bound to an array of 2 items, each item a byte array of 16 bytes. Each cell in the grids has to have some sort of data entry filter on it to ensure that only legal hex numbers are input. The backing data for the grid is an array of an array of 16 bytes. I'm not sure how to do the brief highlight of changed data. I'd like to see the background of the cell change to a pale red for say, half a second before fading gracefully back to default background.
Any suggestions, oh great and powerful WPF coders?
Richard Lewis Haggard