none
自定义滑动怎么产生惯性呢? RRS feed

  • 问题

  • ScrollViewer里面有一个ListView,自定义ListView滑动,产生不了惯性的效果,不像系统的滑动效果

    listItemListView.ManipulationMode = ManipulationModes.All;
    listItemListView.ManipulationStarted += listItemListView_ManipulationStarted;
    listItemListView.ManipulationDelta += listItemListView_ManipulationDelta;

            private double _scrollStartOffset = 0.0;
            private void listItemListView_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e)
            {
                _scrollStartOffset = listItemScroll.VerticalOffset;
            }
            private void listItemListView_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
            {
                listItemScroll.ScrollToVerticalOffset(_scrollStartOffset - e.Cumulative.Translation.Y);   

    滑动的时候感觉很卡,没有系统默认的滑动效果


    2013年4月12日 13:47

答案

  • 通过动画的EasingFunction 可以模拟多数物理效果,比如你要的惯性。 所以这里需要改变下设计,通过动画模式来改变ScrollBar的位置,然后可以在滚动条达到底部或者顶部时候的 动画添加Easing Function

    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    2013年4月15日 2:20
    版主