|
Thank you, Gene
Yes i'm using the latest SVN version. The XAML code is extremely simple:
<UIKit:ScrollView x:Name="OnlineScrollView" Grid.Row="2" Width="400" ScrollBarsEnabled="True" Direction="Vertical" HorizontalAlignment="Left">
<StackPanel x:Name="OnlineStack" />
</UIKit:ScrollView>
<UIKit:ScrollView x:Name="DownloadedScrollView" Grid.Row="2" Grid.Column="1" Width="400" ScrollBarsEnabled="True" Direction="Vertical" HorizontalAlignment="Left">
<StackPanel x:Name="DownloadedStack" />
</UIKit:ScrollView>
The StackPanels are filled in code with Stack.Children.Add(uc). I see the problem in the two functions _gesturesinterpreter_Hold and FingerMove. In the FingerMove the transformhelper.Translate with new calculated x and y coordinates are called on the move
operation with no respect to the desired direction. The function should also check if the content needs to be scrolled before it translates. For better hold behavior it may be better to use a threshold value before starting the translation, because the hold
gesture conflicts with the scroll gesture ;-)
In the method _gesturesinterpreter_Hold the element is not found. I replaced the line
IEnumerable<UIElement> hits = VisualTreeHelper.FindElementsInHostCoordinates(this.TransformToVisual(Application.Current.RootVisual).Transform(e.HoldLocation), this);
with
IEnumerable<UIElement> hits = VisualTreeHelper.FindElementsInHostCoordinates(aE.HoldLocation, this);
Now the Hold operation is working correctly for me.
Toby
|