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