Structuring Memory Viewer Contol in WPF

Structuring Memory Viewer Contol in WPF

What is the best way to design a memory viewer control (a la Visual Studio's Memory Window)?

The control will be mapped onto a byte array and a value representing the starting address (optionally, the control could be mapped onto an object that interfaces to "memory" directly with read/write methods and events for memory changed).

The display should be something like:

start..end addr: 42 79 74 65 | B y t e addr: 57 6f 72 64 | W o r d 

alt text

I'm trying to puzzle out the best way get a sane visual hierarchy such that when you stretch the containing window, it will auto-adjust the contents and you can select the text in either the hex or the ASCII areas and the selection would be reflected in both.

Bonus points if I can make recently changed values a different color.

Am I looking at a stack panel and two rich text boxes where the changing width of the hex box drives the contents of the other two?

85 out of 100 based on 75 user ratings 325 reviews