DataGridをHeaderedContentControl内に配置したいのですが、DataGridが垂直スクロールバーを取得しません。すべての行を一度に保持できるサイズになっているようで、下部が表示されなくなります。
同じDataGridをBorderelelemntに配置すると、希望する動作が得られます。
私はそれをこの最小限の例に減らしました:
<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を使用しています