I have looked at every related answer I can find I have tried most of the offered solutions but nothing is working. First the visual...

The inner TabControl and the ScrollViewer are added in code (there will be multiple tabs), each red rectangle represents a row in a GRID. The first and last rows just contain TextBlocks and the mousewheel scrolls the scrollviewer when over those rows. The inner rows contain DataGrids and they are consuming the scroll/mousewheel event (I assume). Everything on the Daily Objectives tab is a usercontrol that is populated based on a viewmodel, The rows are static accept for scores and comments. I can't get the scrollviewer to work while over the datagrids. I'll post all the XAML for the UserControl but it is not very enlightening. I have tried numerous solutions and I have a similar situation on another tab that does work but the solution there doesn't work here.
<UserControl x:Class="EMSTrainingApp.UserControls.DailyScoresControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
mc:Ignorable="d"
MinHeight="800" MinWidth="1000" Width="Auto" Background="White" BorderThickness=".5" BorderBrush="DarkGray">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="180"/>
<RowDefinition Height="110"/>
<RowDefinition Height="130"/>
<RowDefinition Height="153"/>
<RowDefinition Height="105"/>
<RowDefinition Height="125"/>
</Grid.RowDefinitions>
<Grid Height="180">
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
<RowDefinition Height="60"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,.5" BorderBrush="DarkGray">
<TextBlock Text="{Binding DailyScoreTitle, FallbackValue=Daily Objectives for 09/22/2023}" Background="LightSteelBlue" FontSize="14" FontWeight="SemiBold" TextAlignment="Center" Foreground="Navy"
VerticalAlignment="Center" Height="20" />
</Border>
<Border Grid.Row="1" BorderThickness="0,0,0,.5" BorderBrush="DarkGray">
<TextBlock Text="Expose the new team member to clinical operations in all aspects related to patient care respective to their level of certification."
TextAlignment="Center" Foreground="Navy" VerticalAlignment="Center" Height="20"/>
</Border>
<Border Grid.Row="2" BorderThickness="0,0,0,.5" BorderBrush="DarkGray">
<TextBlock Text="The new team member is expected to operate the ambulance at all times when not functioning as a patient care attendant or completing documentation related to patient care."
Background="LightSteelBlue" TextAlignment="Center" Foreground="Navy" VerticalAlignment="Center" Height="20"/>
</Border>
<Border Grid.Row="3" BorderThickness="0,0,0,.5" BorderBrush="DarkGray">
<TextBlock Text="The Preceptor should instruct and coach the new teammate in a variety of general operations, computer systems, clinical operations, vehicle operations, and check for understanding."
TextAlignment="Center" Foreground="Navy" VerticalAlignment="Center" Height="20"/>
</Border>
<Border Grid.Row="4" BorderThickness="0,0,0,.5" BorderBrush="DarkGray">
<TextBlock Text="Review all aspects of the previous shifts with orientee and complete competencies to prepare Orientee as a competent clinician."
Background="LightSteelBlue" TextAlignment="Center" Foreground="Navy" VerticalAlignment="Center" Height="20"/>
</Border>
<Border Grid.Row="5" BorderThickness="0,0,0,.5" BorderBrush="DarkGray">
<TextBlock Text="As a Third Rider the Orientee is expected to operate as a clinician relative to their skill level with supervision of the FTO. During Second Rides, the Orientee is considered an independent clinician with FTO supervision."
TextAlignment="Center" Foreground="Navy" VerticalAlignment="Center" Height="20"/>
</Border>
<Grid Grid.Row="6" Height="60">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="510"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50*"/>
<RowDefinition Height="50*"/>
</Grid.RowDefinitions>
<TextBlock Text="1 = Unsatisfactory, 3 or 5 Satisfactory, 7
Exceeds, N.O. - Not Observed/Not Applicable"
Grid.Column="0" Grid.RowSpan="2" TextAlignment="Center" Background="LightGray" TextWrapping="Wrap"
FontSize="14" FontWeight="SemiBold" Padding="0,8,0,0"/>
<TextBox Text="Any rating < 3 must have written justification in the appropriate comments field. The expectation is that a DOR is completed at the end of each orientee's shift and reviewed with the FTO. The ONLY exception is in regards to excessive call volume in which a paper form could be completed and turned into the training office within 1 calendar day."
Grid.Column="2" Grid.RowSpan="2" TextAlignment="Center" Background="White" TextWrapping="Wrap" IsReadOnly="True"
Foreground="Black" VerticalContentAlignment="Center" Padding="5,0,5,0"/>
</Grid>
</Grid>
<StackPanel Grid.Row="1" Orientation="Vertical" Height="110">
<TextBlock Text="Professionalism" Background="Navy" Foreground="Yellow" HorizontalAlignment="Stretch"
TextAlignment="Center" FontWeight="SemiBold" Height="22" Padding="0,1,0,0"/>
<DataGrid ItemsSource="{Binding ProfessionalismObjectives}" PreviewMouseWheel="DataGrid_PreviewMouseWheel"
Height="100" Width="Auto" SelectionMode="Single" AutoGenerateColumns="False" CanUserAddRows="False"
SelectionUnit="FullRow" Background="White" CanUserResizeRows="False" CanUserReorderColumns="False"
ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden"
GridLinesVisibility="All" VerticalAlignment="Stretch" AlternationCount="2" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="LightSteelBlue"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell" >
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="Background" Value="Cyan"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Height" Value="22"/>
<Setter Property="FontSize" Value="12"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="WhiteSmoke"/>
<Setter Property="FontWeight" Value="Normal"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="LightCyan"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.RowHeaderStyle>
<Style TargetType="DataGridRowHeader">
<Setter Property="Width" Value="0"/>
</Style>
</DataGrid.RowHeaderStyle>
<DataGrid.Columns>
<DataGridTemplateColumn Header="Objective/Competency" Width="350" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" TextAlignment="Left" Padding="0,0,5,0"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Score" Width="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Score}" TextAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Avr" Width="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding AVR}" TextAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="FTO Comments" MinWidth="250" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Comments}" TextAlignment="Left" Padding="0,0,5,0" Background="LightSteelBlue"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--padding-->
<!--<DataGridTemplateColumn MinWidth="30"/>-->
</DataGrid.Columns>
</DataGrid>
</StackPanel>
<StackPanel Grid.Row="2" Orientation="Vertical" Height="130">
<TextBlock Text="Crew Resource Management" Background="Navy" Foreground="Yellow" HorizontalAlignment="Stretch"
TextAlignment="Center" FontWeight="SemiBold" Height="20" Padding="0,1,0,0"/>
<DataGrid ItemsSource="{Binding CrewResourceObjectives}" PreviewMouseWheel="DataGrid_PreviewMouseWheel"
Height="125" Width="Auto" SelectionMode="Single" AutoGenerateColumns="False" CanUserAddRows="False" CanUserResizeColumns="False"
SelectionUnit="Cell" Background="White" CanUserResizeRows="False" CanUserReorderColumns="False" CanUserSortColumns="False"
ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" GridLinesVisibility="All"
VerticalAlignment="Stretch" AlternationCount="2" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="LightSteelBlue"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell" >
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="Background" Value="Cyan"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Height" Value="22"/>
<Setter Property="FontSize" Value="12"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="WhiteSmoke"/>
<Setter Property="FontWeight" Value="Normal"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="LightCyan"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.RowHeaderStyle>
<Style TargetType="DataGridRowHeader">
<Setter Property="Width" Value="0"/>
</Style>
</DataGrid.RowHeaderStyle>
<DataGrid.Columns>
<DataGridTemplateColumn Header="Objective/Competency" MinWidth="350" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" TextAlignment="Left" Padding="0,0,5,0"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Score" MinWidth="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Score}" TextAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Avr" MinWidth="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding AVR}" TextAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="FTO Comments" MinWidth="250" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Comments}" TextAlignment="Left" Padding="0,0,5,0" Background="LightSteelBlue"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--padding-->
<!--<DataGridTemplateColumn MinWidth="30"/>-->
</DataGrid.Columns>
</DataGrid>
</StackPanel>
<StackPanel Grid.Row="3" Orientation="Vertical" Height="153">
<TextBlock Text="Guidelines and Job Knowledge" Background="Navy" Foreground="Yellow" HorizontalAlignment="Stretch"
TextAlignment="Center" FontWeight="SemiBold" Height="20" Padding="0,1,0,0"/>
<DataGrid ItemsSource="{Binding GuidelineObjectives}" PreviewMouseWheel="DataGrid_PreviewMouseWheel"
Height="150" Width="Auto" SelectionMode="Single" AutoGenerateColumns="False" CanUserAddRows="False" CanUserResizeColumns="True"
SelectionUnit="Cell" Background="White" CanUserResizeRows="False" CanUserReorderColumns="False" CanUserSortColumns="True"
ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" GridLinesVisibility="All"
VerticalAlignment="Stretch" AlternationCount="2" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="LightSteelBlue"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell" >
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="Background" Value="Cyan"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Height" Value="22"/>
<Setter Property="FontSize" Value="12"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="WhiteSmoke"/>
<Setter Property="FontWeight" Value="Normal"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="LightCyan"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.RowHeaderStyle>
<Style TargetType="DataGridRowHeader">
<Setter Property="Width" Value="0"/>
</Style>
</DataGrid.RowHeaderStyle>
<DataGrid.Columns>
<DataGridTemplateColumn Header="Objective/Competency" MinWidth="350" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" TextAlignment="Left" Padding="0,0,5,0"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Score" MinWidth="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Score}" TextAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Avr" MinWidth="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding AVR}" TextAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="FTO Comments" MinWidth="250" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Comments}" TextAlignment="Left" Padding="0,0,5,0" Background="LightSteelBlue"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--padding-->
<!--<DataGridTemplateColumn MinWidth="30"/>-->
</DataGrid.Columns>
</DataGrid>
</StackPanel>
<StackPanel Grid.Row="4" Orientation="Vertical" Height="105">
<TextBlock Text="Vehicle Operations" Background="Navy" Foreground="Yellow" HorizontalAlignment="Stretch"
TextAlignment="Center" FontWeight="SemiBold" Height="20" Padding="0,1,0,0"/>
<DataGrid Grid.Row="3" ItemsSource="{Binding VehicleObjectives}" PreviewMouseWheel="DataGrid_PreviewMouseWheel"
Height="85" Width="Auto" SelectionMode="Single" AutoGenerateColumns="False" CanUserAddRows="False" CanUserResizeColumns="True"
SelectionUnit="Cell" Background="White" CanUserResizeRows="False" CanUserReorderColumns="False" CanUserSortColumns="True"
ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" GridLinesVisibility="All"
VerticalAlignment="Stretch" AlternationCount="2" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="LightSteelBlue"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell" >
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="Background" Value="Cyan"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Height" Value="22"/>
<Setter Property="FontSize" Value="12"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="WhiteSmoke"/>
<Setter Property="FontWeight" Value="Normal"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="LightCyan"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.RowHeaderStyle>
<Style TargetType="DataGridRowHeader">
<Setter Property="Width" Value="0"/>
</Style>
</DataGrid.RowHeaderStyle>
<DataGrid.Columns>
<DataGridTemplateColumn Header="Objective/Competency" MinWidth="350" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" TextAlignment="Left" Padding="0,0,5,0"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Score" MinWidth="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Score}" TextAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Avr" MinWidth="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding AVR}" TextAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="FTO Comments" MinWidth="250" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Comments}" TextAlignment="Left" Padding="0,0,5,0" Background="LightSteelBlue"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--padding-->
<!--<DataGridTemplateColumn MinWidth="30"/>-->
</DataGrid.Columns>
</DataGrid>
</StackPanel>
<Grid Grid.Row="5" MaxHeight="125" ScrollViewer.CanContentScroll="False">
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="FTO Additional Comments (Be Specific)" Background="Navy" Foreground="Yellow" HorizontalAlignment="Stretch"
TextAlignment="Center" FontWeight="SemiBold" Height="20" Padding="0,1,0,0"/>
<TextBox Grid.Row="1" Background="LightSteelBlue"/>
</Grid>
</Grid>
I combined a few answers and found a solution. I added the same handler to each of the grids for the PreviewMouseWheel and added the method FindVisualAncestorOfType to a static class I already had.