欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

指尖离开屏幕时scrollviewer内容弹回

更新时间: 2014-01-05 02:38:35 责任编辑: Author_N1

 

手指离开屏幕时scrollviewer内容弹回
当手指拖动scrollviewer时 里面的内容随着手指一起移动 但是当手指从屏幕上放开时 scrollviewer里的内容又弹回去了 
于是我自己做了一个空页面 放scrollviewer 拖动却是正常的 手指离开屏幕时不会弹回
还有我在研究这个问题的时候发现还有个ScrollContentPresenter控件 说明上说是给scrollviewer 提供内容的
为什么要有这个控件呢 
--参考方法--
你需要给scrollviewer一个高度。
--参考方法--
是的,给scrollviewer一个高度。 
--参考方法--
1.如果需求是 手指离开就要弹回去,可以写在_ManipulationCompleted事件中,将scrollviewer d VerticalOffset 设为0
scrollView.ScrollToVerticalOffset(0);
2.如果需求是 滚动停止时,弹回去,可以去扑捉滚动状态改变事件
FrameworkElement element = VisualTreeHelper.GetChild(scrollView, 0) as FrameworkElement;
                if (element != null)
                {
                    VisualStateGroup visualStateGroup = FindVisualState(element, "ScrollStates");
                    visualStateGroup.CurrentStateChanged += visualStateGroup_CurrentStateChanged;
                }

       private VisualStateGroup FindVisualState(FrameworkElement element, string name)
        {
            if (element == null)
                return null;

            IList groups = VisualStateManager.GetVisualStateGroups(element);
            foreach (VisualStateGroup group in groups)
            {
                if (group.Name == name)
                {
                    return group;
                }
            }
            return null;
        }

当状态为停止时 去设scrollView的VerticalOffSet
        private void visualStateGroup_CurrentStateChanged(object sender, VisualStateChangedEventArgs e)
        {
              var visualState = e.NewState.Name;
              if (visualState == "NotScrolling")
              {
                  scrollView.ScrollToVerticalOffset(0);   
              }
        }
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:38:35
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/12509/
本文WWW.DOC100.NET DOC100.NET版权所有。