title: DataGrid ScrollContentPresenter doesn't catch RequestBringIntoView bubble event
body: <p>I have window with one DataGrid on it. 
  DataGridColumnHeader of this DataGrid is templated:</p>
  
  <pre><code>&lt;Style x:Key="headerTxtBox"  TargetType="{x:Type DataGridColumnHeader}"&gt;
          &lt;Setter Property="Template"&gt;
              &lt;Setter.Value&gt;
                  &lt;ControlTemplate TargetType="{x:Type DataGridColumnHeader}"&gt;
                      &lt;Grid&gt;
                          &lt;Grid.RowDefinitions&gt;
                              &lt;RowDefinition Height="Auto"/&gt;
                              &lt;RowDefinition/&gt;
                          &lt;/Grid.RowDefinitions&gt;
                          &lt;Border&gt;
                                 &lt;ScrollViewer/&gt;
                          &lt;/Border&gt;
                          &lt;Thumb Name="PART_LeftHeaderGripper"&gt;
                          ...
                          &lt;/Thumb&gt;
  
                          &lt;Thumb Name="PART_RightHeaderGripper"&gt;
                          ...
                          &lt;/Thumb&gt;
                      &lt;/Grid&gt;
                  &lt;/ControlTemplate&gt;
              &lt;/Setter.Value&gt;
          &lt;/Setter&gt;
  &lt;/Style&gt;
  </code></pre>
  
  <p>Main view:</p>
  
  <pre><code>&lt;Window&gt;
      &lt;Window.Resources&gt;
      ...
      &lt;/Window.Resources&gt;
      &lt;DataGrid Loaded="GridOnLoaded"
                ColumnHeaderStyle="{StaticResource headerTxtBox}"/&gt;
  &lt;/Window&gt;
  </code></pre>
  
  <p>In back-end on DataGrid.Loaded event I add handler to ScrollContentPresenter.RequestBringIntoView.</p>
  
  <pre><code>private void GridOnLoaded(object sender, RoutedEventArgs routedEventArgs)
      {
          ScrollContentPresenter scp = Utils.FindDescendant&lt;ScrollContentPresenter&gt;(_grid);
          if (scp != null)
          {
              scp.RequestBringIntoView += ScpOnRequestBringIntoView;
          }
      }
  </code></pre>
  
  <p><strong>Problem:</strong> <br/></p>
  
  <p>If my template contains control with ScrollViewer(for example TextBox) ScrollContentPresenter will never catch RequestBrintIntoView event. </p>
  
  <p>If i will change my template and get rid ScrollViewer, everything works fine. ScrollContentPresenter will catch every RequestBringIntoView.</p>
  
  <p>I already looked on route when RequestBringIntoView raises. In both cases the route same. And it goes through ScrollContentPresenter. But in first case RequestBringIntoView handled by parent ScrollViewer of ScrollContentPresenter, not by ScrollContentPresenter.</p>