I just solved this problem in our application.
What happens is that the ScrollViewer captures the TouchDevice in its PreviewTouchMove handler, which “steals” TouchDevice from other controls and prevents them from receiving any PreviewTouchMove or TouchMove events.
To get around this, you need to implement a Thumb user control that captures the TouchDevice in the PreviewTouchDown event and keeps a reference to it until the PreviewTouchUp event occurs. The control can then “steal” the capture back into the LostTouchCapture handler when necessary. Here is a short code:
public class CustomThumb : Thumb { private TouchDevice currentDevice = null; protected override void OnPreviewTouchDown(TouchEventArgs e) {
You will then need to reformat the slider to use CustomThumb instead of the default Thumb control.
source share