RESOLVED: Please see my own answer below with the XAML code, screenshot, and explanation.
It was a little difficult to call it, so let me explain what my problem is. I have a datagrid that has a specific height, so a scrollbar appears. I would like to have a vertical scroll bar in the area excluding the title. While it only scrolls through the data rows, not the header, visually it spans the entire data area to the right. The problem is that two fields appear in the scrollbar area (one above and below). I am not sure how to get rid of them or how to hide the scroll bar to the datagrid body.

The only thing I managed to figure out (and I do not like its appearance) was to set the DataGrid background to transparent. Here is the result:

As you can see, the scrollbar is annoying. Then also there is the problem of the gap between the horizontal scrollbar and the last line if the background is transparent:

There is also a solution that gets rid of the background color of the data for these two boxes, making them stand out less:
http://social.msdn.microsoft.com/Forums/vstudio/en-US/9fc4252b-38b1-4369-8d76-b6c5ae1e4df5/how-to-remove-the-blank-space-above-the-verticalscroolbar-of- datagrid-in-wpf? forum = wpf
A similar solution can be found here:
Annoying area where scrollbars meet
However, he does not get rid of the problem when the scrollbar sticks out awkwardly from the side.
-, , ScrollViewer, ScrollViewer, . , , , , . , , , . , , . :

, , , :
(, -6,0,0,0) (0,0,6,0), . , - ( ).
. # 1:
, (-17,0,0,0). 17 - . , :
http://msdn.microsoft.com/en-us/library/system.windows.systemparameters.verticalscrollbarwidthkey(v=vs.110).aspx
XAML. ... XAML. , XAML:

XAML:
<Style TargetType="{x:Type DataGrid}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGrid}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
<ScrollViewer x:Name="DG_ScrollViewer" Focusable="false">
<ScrollViewer.Template>
<ControlTemplate TargetType="{x:Type ScrollViewer}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Button Command="{x:Static DataGrid.SelectAllCommand}" Focusable="false" Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
<DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter" Grid.Column="1" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Column}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
<ScrollContentPresenter Margin="0,0,17,0" x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" Grid.ColumnSpan="2" Grid.Row="1"/>
<ScrollBar Margin="-17,0,0,0" x:Name="PART_VerticalScrollBar" Grid.Column="2" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Grid.Row="1" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>
<Grid Grid.Column="1" Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
</Grid>
</Grid>
</ControlTemplate>
</ScrollViewer.Template>
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
, , , Margin = "- 17,0,0,0" ScrollBar.
, , 17 ( margin, padding). . , , - . - , .
№ 2:
XAML . Margin = "0,0,17,0" ScrollContentPresenter.
, , - , , , . , ScrollContentPresenter ... , DataGridColumnHeadersPresenter, ... . ScrollContentPresenter, , , . , , , , .
, ScrollBar ( ) 0,0, -17,0. 17 . DataGridColumnHeaderPresenter 0,0, -17,0. 17 .
№ 3:
, :

ScrollBar 0, -22,0, -17. -22 - , , . , .
№ 4:
. , . XAML, .