use*_*606 2 silverlight scrollviewer
我想同步2个滚动查看器.请让我知道如何获得两个scrollviewer的滚动事件,然后同步它们?
首先获取要同步的滚动查看器的2个滚动条.在这种情况下,scrollviewer1和scrollviewer2
随后我们得到两个滚动条的事件处理程序,在这种情况下,垂直.然后我们可以通过事件轻松地同步它们.在ScrollToVerticalOffset将滚动按另一个则.
ScrollBar vertical1 = ((FrameworkElement)VisualTreeHelper.GetChild(scrollviewer1, 0)).FindName("VerticalScrollBar") as ScrollBar;
vertical1.ValueChanged += new RoutedPropertyChangedEventHandler<double>(vertical1_ValueChanged);
ScrollBar vertical2 = ((FrameworkElement)VisualTreeHelper.GetChild(scrollviewer2, 0)).FindName("VerticalScrollBar") as ScrollBar;
vertical2.ValueChanged += new RoutedPropertyChangedEventHandler<double>(vertical2_ValueChanged);
void vertical1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
scrollviewer2.ScrollToVerticalOffset(e.NewValue);
}
void vertical2_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
scrollviewer1.ScrollToVerticalOffset(e.NewValue);
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
686 次 |
| 最近记录: |