我需要编写一个类似 WPF excel 的网格控件。我是 WPF 新手,不知道从哪里开始。
它应该派生自 UserControl、FrameworkElement 还是其他东西?
我需要它有水平和垂直滚动条和一个内容区域。这是否意味着我的网格控件应该有一个带有滚动条的 DockPanel,然后是另一个用于内容区域的控件,以便我的 GridUserControl 将有一个带有 2 个停靠滚动条和一个 GridContentFrameworkElement 控件的 DockPanel?
购买网格不是一种选择。
这是我决定的:我有一个 GridUserControl(派生自 UserControl)。它有一个带有 2 个停靠 ScrollBar 对象的 DockPanel。主要内容区域(GridContent)是派生自Panel 的另一个控件。内容在 GridContent.OnRender 中绘制。
我没有使用 ScrollViewer,因为它想要渲染整个内容区域然后滚动它。我只想绘制当前可见的内容区域的一部分,因为网格中可以有数百万行。