I'd like to set up a datagrid so that, when the user scrolls right, the
first column (I'm only after one column at the moment, a method that coped
with multiple columns would be nice) remains where it is. i.e. similar to
the freeze panes command in Excel.

I've seen that lots of people have posted this question in the past, but I
haven't seen an answer. I've tried Ken Tucker's ColoredGridColumn class
but it doesn't work for me. I've seen the idea of using two datagrids side
by side but can't figure out what I'd need to do to override the events of
the vertical scroll bar on the right hand grid so that it automatically
applied to the left as well.

At the moment, my thought is just to completely remove the scroll bars and
replace with left and right buttons where 'right' will just remove from the
column style collection, and 'left' will add back in, but that is obviously
a non-standard UI so I'd rather not do it that way.

Anyone have any details of a good way to do this?