I've worked a lot in WPF - made quite a few custom controls (graphs, dialogs, pickers), and could do up a DataGrid edit tracker quite quickly. I'd make it into a class that attaches to a datagrid and utilizes the grid's events to track changes. This way you can use it with existing DataGrids and it'd be easy to implement in existing applications.
I can also add the option to move forward / backward in the edit history.