原文:win10 uwp 获得Slider拖动结束的值

本文讲的是如何获得Slider移动结束的值,也就是触发移动后的值。如果我们监听ValueChanged,在我们鼠标放开之前,只要拖动不放,那么就不停触发,而我们可能要得到事件是拖动结束后,那么我们如何获得。

在WPF,我们可以使用Thumb.DragCompleted,连接:http://stackoverflow.com/questions/723502/wpf-slider-with-an-event-that-triggers-after-a-user-drags,这个在UWP没有,所以我们没法使用这个。

但是可以使用鼠标放开的值,在 UWP 把触摸放开、鼠标这些叫 Pointer 那么是否监听 PointerReleased 就可以获得鼠标放开,实际监听也拿不到事件。

开始写一个简单页面

      <Slider PointerReleased="UIElement_OnPointerReleased"></Slider>

然后后台使用 F12 生成代码,不需要写什么,但是在函数开始写断点,断点可以按 F9 就可以。这时候使用 F5 运行项目,可以看到,在鼠标松开不会进入断点。

那么是否有其他事件可以使用?实际上只有 SizeChanged ,他无法获得鼠标松开的值,也就是拖动结束的值。所以还是需要使用 PointerReleased ,为何这个函数不会进入?因为ms在注释写 请注意,并不保证 Press 操作结束会激发 Windows.UI.Xaml.UIElement.PointerReleased 事件;可能会改为激发其他事件。如果需要监听这个事件需要使用代码。

原因就是在底层进入 PointerReleased 使用了 e.Handle = true ,在 UWP 的路由事件,如果一个元素已经被设置事件处理,那么一般添加的事件函数就不会执行,如果需要这个事件函数执行,那么需要使用后台代码说无论是否在底层有处理,都需要触发,这样就可以使用在鼠标放开拿到值。

首先修改界面,给元素名称,然后打开后台代码,添加一段特殊的代码。

      <Slider x:Name="Slider"></Slider>

        public MainPage()
{
this.InitializeComponent();
Slider.AddHandler(UIElement.PointerReleasedEvent /*哪个事件*/, new PointerEventHandler(UIElement_OnPointerReleased) /*使用哪个函数处理*/, true /*如果在之前处理,是否还使用函数*/);
}

这样,垃圾ms在底层处理,现在还是可以获得,因为设置了如果在之前处理,还使用定义的函数,这时在 UIElement_OnPointerReleased 就可以获得鼠标松开的值。

参见:UWP开发大坑之—路由事件 - 快乐 就在你的心 的博客

源代码:[免费]SlideMove 1.0-CSDN下载


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

最新文章

  1. BootStrap_04之jQuery插件(导航、轮播)、以及Less
  2. [LeetCode] Reverse Words in a String 翻转字符串中的单词
  3. NYOJ 743
  4. 最新版CocoaPods的使用与安装-以导入ReactiveCocoa框架为例
  5. CI基本配置
  6. 【poj1009】 Edge Detection
  7. Hibernate从入门到精通(二)Hibernate实例演示
  8. 破解之寻找OEP[手动脱壳](2)
  9. 64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 )
  10. 《Java从入门到放弃》JavaSE篇:程序结构
  11. TinyXML 的简单介绍以及使用
  12. 赋给个人账户sudo的全部root执行权限
  13. python中的日志操作和发送邮件
  14. 【java多线程】队列系统之ArrayBlockingQueue源码
  15. Daemon Thread [shirocache] (Running)
  16. 增强for 可以用于ArrayList
  17. --save与--save-dev的区别
  18. ICCV 2017论文分析(文本分析)标题词频分析 这算不算大数据 第一步:数据清洗(删除作者和无用的页码)
  19. WORDPRESS修改文章文件后,出现乱码
  20. n个括号对的所有可能情况

热门文章

  1. 【机器学习实战】第10章 K-Means(K-均值)聚类算法
  2. java-线程-生产者-消费者
  3. svn不支持中文路径问题的解决
  4. 不要放弃使用border-box
  5. 【38.24%】【codeforces 621E】 Wet Shark and Blocks
  6. Android源码分析-点击事件派发机制
  7. PAT 1065 - 1068 题解
  8. 关于easyui-accordion的添加以及显示隐藏菜单的使用
  9. QT环境安装VS2013(系统环境里设置QTDIR,并添加VS2013的BIN目录)
  10. WPF旋转的界面实现