I got this issue yesterday, and it ate my day.
This is my XAML code which create a  ListView inside a ScrollView. I can simple using a ListView but beside listview, I want to put someother control into ScrollView.

And my ScrollView didn't work anymore. ListView seem swallowing mouse wheel and touch event.

<scrollviewer panningdeceleration="0.003" 
                 panningmode="VerticalOnly" 
                 verticalscrollbarvisibility="Auto" 
                 x:name="scroller">
        <stackpanel>
          <listview itemcontainerstyle="{StaticResource listBoxItemStyle}" 
                 itemssource="{Binding ContactList, IsAsync=False}" 
                 scrollviewer.horizontalscrollbarvisibility="Disabled" 
                 x:name="lvContact">
      
                       ..................
          </listview>
          ...............
        </stackpanel>
</scrollviewer>

ISSUE 1 Listview swallow mousewheel event so that scroll view does not work.

SOLUTION: Forward scroll event from Listview to its father

          <listview itemcontainerstyle="{StaticResource listBoxItemStyle}" 
                 itemssource="{Binding ContactList, IsAsync=False}" 
                 previewmousewheel="lvContact_PreviewMouseWheel" 
                 scrollviewer.horizontalscrollbarvisibility="Disabled" 
                 x:name="lvContact">
      
                       ..................
          </listview>

private void lvContact_PreviewMouseWheel(object sender, System.Windows.Input.MouseWheelEventArgs e)
{
    if (!e.Handled)
    {
        e.Handled = true;
        var eventArg = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta);
        eventArg.RoutedEvent = UIElement.MouseWheelEvent;
        eventArg.Source = sender;
        var parent = ((Control)sender).Parent as UIElement;
        parent.RaiseEvent(eventArg);
    }
}


ISSUE 2: ScrollView still not work on touch device
SOLUTION: when ScrollView handle TouchDownEvent, set it capture touch device input and release device on TouchUpEvent

<scrollviewer panningdeceleration="0.003" 
                 panningmode="VerticalOnly" 
                 touchdown="scroller_TouchDown" 
                 touchup="scroller_TouchUp" 
                 verticalscrollbarvisibility="Auto" 
                 x:name="scroller">



private void scroller_TouchDown(object sender, System.Windows.Input.TouchEventArgs e)
{
    FrameworkElement scrollView = sender as FrameworkElement;
    if (scrollView == null)
  return;
    scrollView.CaptureTouch(e.TouchDevice);
    e.Handled = true;
}

private void scroller_TouchUp(object sender, System.Windows.Input.TouchEventArgs e)
{
    FrameworkElement scrollView = sender as FrameworkElement;
    if (scrollView == null)
  return;
    scrollView.ReleaseTouchCapture(e.TouchDevice);
    e.Handled = true;
}