【发布时间】:2012-01-28 17:53:31
【问题描述】:
我需要使用标题和项目窗格来实现控制。此控件应具有类似于 DataGrid 的滚动行为。标题应与项目一起水平滚动,但应在垂直滚动时固定。我该如何实现这种行为?
【问题讨论】:
标签: wpf xaml datagrid user-controls scroll
我需要使用标题和项目窗格来实现控制。此控件应具有类似于 DataGrid 的滚动行为。标题应与项目一起水平滚动,但应在垂直滚动时固定。我该如何实现这种行为?
【问题讨论】:
标签: wpf xaml datagrid user-controls scroll
我会使用两个 ScrollViewer,而不是一个
这是我将使用的控件布局
<DockPanel>
<ScrollViewer x:Name="HeaderScrollViewer" DockPanel.Dock="Top">
<Grid x:Name="Headers" />
</ScrollViewer>
<ScrollViewer x:Name="ContentScrollViewer">
<Grid x:Name="Content" />
</ScrollViewer>
</DockPanel>
要使这项工作正常工作,需要注意一些事项。
隐藏HeaderScrollViewer 上的滚动条。 ScrollViewer 仅用于功能 - 用户实际上不会与之交互。
ContentScrollViewer水平滚动时,手动滚动HeaderScrollViewer等距离。
使用Grid.IsSharedSizeScope 和Grid.SharedSizeGroup 将标题网格列与内容网格列对齐
【讨论】: