WP中的两个ScrollViewer同步效果

比如一个ScrollViewer进行拖拽时,另一个ScrollViewer也实时跟着移动,而不是拖动结束后再对齐。

SilverLight中ScrollViewer有个ScrollChanged事件,但是到了WP中就没有这个事件。

在微软Q&A中有几种实现方法。

一种是用WP7自带的几种事件去模拟ScrollChanged事件的效果

private void LayoutUpdated(object sender, EventArgs e)
{
    this.TableView.ScrollToHorizontalOffset(this.View.HorizontalOffset);
}

private void MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    this.TableView.ScrollToHorizontalOffset(this.View.HorizontalOffset);
}

private void TableDataView_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    this.TableView.ScrollToHorizontalOffset(this.View.HorizontalOffset);
}

 另外一种思路,stackoverflow里提到的,就是用计时器,相隔很短时间就检测一次两个ScrollViewer的偏移量并进行一次同步。

原文地址:https://www.cnblogs.com/fengbeihong/p/2986814.html