我想在 HeaderedContentControl 中放置一个 DataGrid,但 DataGrid 没有获得垂直滚动条。它的大小似乎可以一次容纳所有行,底部从视图中消失。
如果我将相同的 DataGrid 放在 Border elelemnt 中,我会得到我想要的行为。
我已将其简化为这个最小的示例:
<Grid>
<HeaderedContentControl Margin="10,10,10,161" >
<HeaderedContentControl.Header >test</HeaderedContentControl.Header>
<!-- I want it Here but then no Vertical Scroll-->
<DataGrid ItemsSource="{Binding Path=AllData}"
AutoGenerateColumns="True" />
</HeaderedContentControl>
<Border Margin="10,169,10,10">
<!--Here it does scroll -->
<DataGrid ItemsSource="{Binding Path=AllData}"
AutoGenerateColumns="True" />
</Border>
</Grid>
几点注意事项:
- 我无法使用 HeaderedContentControl.VerticalContentAlignment 让它工作
- 这个问题与这个问题有关,但我认为我已经把它扩大了一点,并且有一个更好的答案。
- 在 DataGrid 周围使用 ScrollViewer 不是解决方案,因为它会将标题滚动到视线之外。
- 我正在使用 WPF4