Я также МОФ новичок и застрял в той же проблеме
i.e, используя мышь для прокрутки, она отлично работает, когда она находится над кнопкой, но как только вы перемещаете указатель мыши по сетке и пытаетесь прокручивать, ничего не происходит.
Но благодаря моему способу работы, то есть пойдите на лишнюю милю, и я обнаружил, что ScrollViewer нельзя конкатенировать, означает, что он объединен, как в вашем случае, сетка начинается под тегом ScrollViewer, а в гриде у нас есть DataGrid а в DataGrid снова установлено свойство ScrollViewer. т.е.
HorizontalScrollBarVisibility="Auto".` <Border Grid.Row="3" Name="contentArea" BorderBrush="Black" BorderThickness="1" Margin="10,0,10,10">
<ScrollViewer CanContentScroll="True" IsDeferredScrollingEnabled="False" VerticalScrollBarVisibility="Auto">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="45"></RowDefinition>
<RowDefinition Height="100*"></RowDefinition>
<RowDefinition Height="105"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0" Margin="10,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Center" FontWeight="Bold" Content="Vessel: " />
<TextBox Height="30" Width="300" Margin="70,0,0,0" HorizontalAlignment="Left" BorderThickness="1,1,1,1" IsReadOnly="True" Name="txtVessel"/>
<Label Grid.Row="0" Grid.Column="2" Margin="0,0,185,0" HorizontalAlignment="Right" VerticalAlignment="Center" FontWeight="Bold" Content="Month:" />
<StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="2" Margin="0,0,0,0" HorizontalAlignment="Right" >
<ComboBox BorderThickness="2" HorizontalAlignment="Right" Name="CmbMonth" VerticalAlignment="Center" Width="90" />
<ComboBox BorderThickness="2" HorizontalAlignment="Right" Margin="5,0,0,0" Name="CmbYear" VerticalAlignment="Center" Width="90" />
</StackPanel>
<Grid Grid.Row="1" Grid.ColumnSpan="2">
<Grid.RowDefinitions>
<RowDefinition Height="45"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30"></ColumnDefinition>
<ColumnDefinition Width="220"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="120"></ColumnDefinition>
<ColumnDefinition Width="120"></ColumnDefinition>
<ColumnDefinition Width="140*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Border BorderBrush="Black" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="0" ></Border>
<Border BorderBrush="Black" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="1" ></Border>
<Border BorderBrush="Black" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="2" ></Border>
<Border BorderBrush="Black" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="3" ></Border>
<Border BorderBrush="Black" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="4" ></Border>
<Border BorderBrush="Black" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="5" ></Border>
<Border BorderBrush="Black" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="6" ></Border>
<Border BorderBrush="Black" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="7" ></Border>
<Border BorderBrush="Black" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="8" ></Border>
<Label Grid.Row="0" Grid.Column="1" Margin="0,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Content="Item" />
<Label Grid.Row="0" Grid.Column="2" Margin="0,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Content="Maker" />
<Label Grid.Row="0" Grid.Column="3" Margin="0,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Content="Model" />
<Label Grid.Row="0" Grid.Column="4" Margin="0,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Content=" Part No.
Serial No." />
<Label Grid.Row="0" Grid.Column="5" Margin="0,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Content="Condition" />
<Label Grid.Row="0" Grid.Column="6" Margin="0,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Content=" Onboard
 Calibr/Test" />
<Label Grid.Row="0" Grid.Column="7" Margin="0,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Content=" Shore
 Callibration" />
<Label Grid.Row="0" Grid.Column="8" Margin="0,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Content="Remarks" />
</Grid>
<Border Grid.Row="2" Grid.ColumnSpan="2" >
<ScrollViewer Grid.Row="2" Grid.ColumnSpan="2" CanContentScroll="True" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto" Name="ScrollViewer3" Margin="0,0,0,0">
<Grid Name="grdOnBoardCalibrationRecord" Margin="0,0,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30"></ColumnDefinition>
<ColumnDefinition Width="220"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="120"></ColumnDefinition>
<ColumnDefinition Width="120"></ColumnDefinition>
<ColumnDefinition Width="140*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" BorderThickness="1,0,1,1" BorderBrush="Black" Grid.RowSpan="26"></Border>
<Border Grid.Column="1" BorderThickness="0,1,1,1" Grid.RowSpan="26"></Border>
<Border Grid.Column="2" BorderThickness="0,1,1,1" Grid.RowSpan="26"></Border>
<Border Grid.Column="3" BorderThickness="0,1,1,1" Grid.RowSpan="26"></Border>
<Border Grid.Column="4" BorderThickness="0,1,1,1" Grid.RowSpan="26"></Border>
<Border Grid.Column="5" BorderThickness="0,1,1,1" Grid.RowSpan="26"></Border>
<Border Grid.Column="6" BorderThickness="0,1,1,1" Grid.RowSpan="26"></Border>
<Border Grid.Column="7" BorderThickness="0,1,1,1" Grid.RowSpan="26"></Border>
<Border Grid.Column="8" BorderThickness="0,1,1,1" Grid.RowSpan="26"></Border>
</Grid>
</ScrollViewer>
</Border>
<Grid Grid.Row="3" Grid.ColumnSpan="2">
<Grid.RowDefinitions>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="40"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBox Grid.Row="0" Grid.Column="0" Height="30" Width="300" TextAlignment="Center" Background="Gray" IsReadOnly="True" Margin="0,0,0,0" HorizontalAlignment="Right" VerticalAlignment="Bottom" BorderThickness="1,1,1,1" Name="txtChiefEngineer"/>
<Label Grid.Row="1" Grid.Column="1" Margin="0,0,100,0" HorizontalAlignment="Right" VerticalAlignment="Center" FontWeight="Bold" Content="Chief Engineer" />
<StackPanel Orientation="Horizontal" Grid.Row="2" Margin="0,0,0,0" >
<Label Name="lblonshorecomment" Content=" Shore Comment : " HorizontalAlignment="Center" Margin="5,0,0,0" FontWeight="Bold" VerticalAlignment="Center" FontFamily="Calibri" FontStyle="Normal" FontSize="14" ></Label>
<TextBox BorderThickness="1" FontWeight="Normal" IsReadOnly="True" Height="44" Width="878" TextWrapping="Wrap" AcceptsReturn="True" HorizontalAlignment="left" Margin="0,0,0,0" Name="txtShoreComment" VerticalAlignment="Center" />
</StackPanel>
</Grid>
</Grid>
</ScrollViewer>
</Border>`
У меня такая же проблема, однако нижеприведенные решения не очень хорошо работают в приложении MVVM. Наш архитектор не хочет иметь никакого кода в представлениях, только Xaml или Behaviors. – Kolky
Привет, Колки, я знаю, что этот ответ, вероятно, слишком поздно для вас, почти 6 лет, но, возможно, это будет полезно для кого-то другого в подобной ситуации. Обычно логика типа UI, подобная этому, приемлема с использованием шаблона MVVM, например, с использованием кода за классом. Вот ссылка на статью MSDN на нем: https://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx –