I need to write a WPF excel-like grid control. I'm new to WPF and can't quite work out where to start.
Should it derive from UserControl, FrameworkElement, or something else?
I need it to have horizontal and vertical scrollbars and a content area. Does that mean my grid control should have a DockPanel with the scrollbars, then another control for the content area so that my GridUserControl would have a DockPanel with 2 docked scrollbars and a GridContentFrameworkElement control?
Buying a grid is not an option.
This is what I decided on: I have a GridUserControl (derived from UserControl). It has a DockPanel with 2 docked ScrollBar objects. The main content area (GridContent) is another control derived from Panel. The content is drawn in GridContent.OnRender.
I did not go with a ScrollViewer since it wants to render the entire content area and then scroll that around. I only wanted to draw the bit of the content area that was currently visible since the grid can have millions of lines in it.