WPF DataGrid 固定或粘性 header 垂直滚动

WPF DataGrid Fixed or Sticky header on vertical scroll

问题: 我正在尝试在 WPF DataGrid 的垂直滚动上固定或粘性 header 但我无法让它工作 下面是我的伪代码

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <DataGrid Grid.Column="1" ItemsSource="{Binding Test}" x:Name="testfield"
                          SelectionMode="Extended"
                          SelectionUnit="FullRow"
                          AutoGenerateColumns="False"
                          CanUserAddRows="False"
                          CanUserDeleteRows="False"
                          ScrollViewer.CanContentScroll="True"
                          ScrollViewer.VerticalScrollBarVisibility="Auto"
                          ScrollViewer.HorizontalScrollBarVisibility="Auto"
                          PreviewMouseWheel="OnPreviewMouseWheel">

        <DataGrid.Columns>

            <DataGridTemplateColumn Header="Header1" IsReadOnly="True">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        ............ column data ...........
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>

            <DataGridTemplateColumn Header="Header2" IsReadOnly="True">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        ............ column data 2...........
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>

            <DataGridTemplateColumn Header="Header3" IsReadOnly="True">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                       ................ column data 3 ...........
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>               
        </DataGrid.Columns>
    </DataGrid>
</Grid>

谁能帮我解决这个问题?

parent 页面上有一个 ScrollViewer 正在调用我的 child 页面,这导致整个 child 页面滚动,其中包括 Headers child页。