返回顶部的按钮,like this

当用户下滑了一定的距离之后,通常是快滑倒底部的时候,出现返回顶部按钮,当用户向上快滑,滑到顶部的时候,返回顶部按钮自动消失。

在UWP中,用来滚动内容的控件是ScrollViewer控件,当前页面呈现不下时,就会让内容可以滚动查看。

一:ScrollViewer 控件

1.1 ViewChanged事件

 当ScrollViewer里的滚动条的位置发生改变时,会触发ViewChanged事件。

1.2 获取滚动条位置

 // 获取内容已垂直滚动的距离。
// 返回结果:
// 内容已垂直滚动的距离。
public double VerticalOffset { get; }

1.3 获取ScrollViewer的高度

ScrollViewer 里有很多个高度的属性

1.ActualHeight      实际高度,当前ScrollViewer呈现的高度,包括ScrollViewer的padding值。

2.ViewportHeight  获取包含内容视区垂直大小的值,(减去padding,margin等)

3. ExtentHeight  拓展高度,scrollview总的长度,包括还没有滚动到的长度

4. ScrollableHeight 能够滚动的高度,ExtentHeight-ActualHeight  就是能够滚动的高度

5.Height 高度

6.MaxHeight 最大高度

7. MinHeight 最小高度

要注意 VerticalOffset 滚动条的值滑倒底部=ScrollableHeight  而不是ExtentHeight

具体的放回顶部按钮出现的规则自己定。

 ScrollViewer scrollViewer = sender as ScrollViewer;
if (scrollViewer.VerticalOffset>scrollViewer.ViewportHeight) //
{
BackTopButton.Visibility = Visibility.Visible;
}
else if(scrollViewer.VerticalOffset< scrollViewer.ViewportHeight) //
{
BackTopButton.Visibility = Visibility.Collapsed;
}

1.4  将滚动条拉回顶部

将滚动条返回顶部不能用VerticalOffset属性了,VerticalOffset属性是只读属性。我们用ChangeView方法

 public bool ChangeView(double? horizontalOffset, double? verticalOffset, float? zoomFactor);

第一个参数是水平滚动条位置,第二个参数是竖直滚动条位置,第三个是缩放比例。

//返回顶部按钮
private void BackTopButton_Click(object sender, RoutedEventArgs e)
{
ItemDetailsPannelScrollViewer.ChangeView(null,0,null);
}

如果我们只是想把竖直滚动条位置的位置变为0,那么只要将第二个擦参数设置为0,其它不用的参数设置为null。

---------some words-----------

1.scroll 滚动

2.Viewer 阅读器

3. ScrollViewer 滚动阅读器

4.offset 偏移

5.vertical 竖直的

6.VerticalOffset 竖直偏移量

7.Actual 实际的

8.ViewPort 视口

9.Extent 拓展

10.zoom 变焦,变大

11.Factor 因素,因子

----------- the end---------------

UWP 返回顶部按钮的更多相关文章

  1. 【Android】ListView监听上下滑动(判断是否显示返回顶部按钮

    设置滚动监听判断ListView的滚动方向同时获取屏幕高度.ListView实际高度,判断是否需要展示返回顶部按钮 package com.zihao.activity;   import java. ...

  2. vue进入页面时不在顶部,检测滚动返回顶部按钮

    这里是本小白使用时遇到的问题及个人使用的方法可能并不完美. 1.监测浏览器滚动条滚动事件及滚动距离 dmounted() { window.addEventListener("scroll& ...

  3. 使用jquery实现返回顶部按钮

    实现返回顶部效果,首先需要监听页面的scroll事件,其次才是获取到页面当前的滚动高度 $(window).scrollTop(); 具体代码如下: jquery获取页面元素的一些边界值(宽,高,滚动 ...

  4. 在页面中有overflow-y:auto属性的div,当出现滚动条,点击返回顶部按钮,内容回这个div最顶部

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. jquery back to top 页面底部的返回顶部按钮

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. js实现返回顶部按钮

    html: <div class="box"></div> <div class="box1"></div> & ...

  7. PC返回顶部浮动按钮

    要添加的css: <style> .up{width:54px;height:54px;background:url(/Images/topback.gif) no-repeat 0 0; ...

  8. jquery 返回顶部 兼容web移动

    返回顶部图片 http://hovertree.com/texiao/mobile/6/tophovertree.gif 具体实现代码 <span id="tophovertree&q ...

  9. js实现返回顶部功能的解决方案

    很多网站上都有返回顶部的效果,主要有如下几种解决方案. 1.纯js,无动画版本 window.scrollTo(x-coord, y-coord); window.scrollTo(0,0); 2.纯 ...

随机推荐

  1. javascript中call()、apply()、bind()的用法终于理解

    其实是一个很简单的东西,认真看十分钟就从一脸懵B 到完全 理解! 先看明白下面: 例1 obj.objAge;  //17 obj.myFun()  //小张年龄undefined 例2 shows( ...

  2. (转)JVM类生命周期概述:加载时机与加载过程

    原文地址: http://blog.csdn.net/justloveyou_/article/details/72466105 JVM类加载机制主要包括两个问题:类加载的时机与步骤 和 类加载的方式 ...

  3. 基于Redis位图实现系统用户登录统计

    项目需求,试着写了一个简单登录统计,基本功能都实现了,日志数据量小.具体性能没有进行测试~ 记录下开发过程与代码,留着以后改进! 1. 需求 1. 实现记录用户哪天进行了登录,每天只记录是否登录过,重 ...

  4. python - 常用模块栗子

    前言  内容摘自Python参考手册(第4版) 及 自己测试后得出.仅作为一个简单记录,方便使用查询之用. 另 dir(func)及func.__doc__可以查看对象属性及说明文档. 序列Seque ...

  5. mysql登录出现1045错误修改方法

    在cmd中输入mysql -uroot -p出现1045错误如下: ERROR 1045(28000): Access denied for user 'root'@'localhost'(using ...

  6. mysql在cmd命令下执行数据库操作

    windows+r 运行cmd命令,执行以下操作! 当mysql 数据库文件相对于来说比较大的时候,这个时候你可能在正常环境下的mysql中是导入不进去的,因为mysql数据库本身就有默认的导入文件大 ...

  7. bind、apply与call

    bind.apply与call 先说观点:不论是bind.apply还是call,最大的好处就是代码复用. bind 在开发中,我们只有复用代码时,才会出现this指向需要改动的情况. 纵观bind的 ...

  8. svn解除控制

    转自 :http://guoyong123.blog.163.com/blog/static/162543782010428102928353/ 一直在研究svn,今天让我们组将文件加入到服务器上,但 ...

  9. MSDN-9月杂志推荐

    序言:MSDN Magazine频道每月都会推出杂志,提供给广大开发者免费阅读,文章的作者往往都是国内外技术大牛.而且翻译良好(机器翻译除外)排班工整,是技术进阶的绝美助力! 本系列文章会关注MSDN ...

  10. win10 uwp smms图床

    本文,如何使用smms图床上传图片,用到win10 uwp post文件,因为我是渣渣,如果本文有错的,请和我说,在本文评论,或发给我邮箱lindexi_gd@163.com,请不要发不良言论 找到一 ...