首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WPF 如何判断一个控件在滚动条的里面是用户可见

昨天星期八再娶你 大佬问我如何判断在滚动条内可以看到某个元素,他需要在滚动条里面放一个视频播放器,在用户看不到这个播放器的时候自动停下这个播放器 在 WPF 可以通过 ScrollChanged 拿到当前的滚动到哪同时拿到滚动条可见的宽度和高度...在 ScrollChangedEventArgs 提供了多个属性用于拿到当前的滚动条的可见的宽度和高度,滚动条的水平移动和垂直的移动,具体请看下图 在用户修改外层控件的宽度或高度让滚动条的高度或宽度进行修改的时候...等属性知道用户修改了多少 那么如果判断某个控件在滚动条可见内就可以拿到某个控件的外接矩形和滚动条可见大小进行矩形判断,请看下图 那么如何拿到一个控件的外接矩形?...controlBounds)) { Debug.WriteLine("用户可以看到控件"); } 下面是我实际写的代码 我在滚动添加了一个控件...,在里面添加了很多文本,其中有一个是歪楼的文本

95220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何让IDEA像Eclipse一样在一个窗口打开多个项目

    在我们刚开始学习java的时候,使用的最多的ide工具就是eclipse,在eclipse中我们可以同时打开多个项目,很方便的在项目之间进行切换,刚开始接触idea的时候,我们发现在一个窗口只能打开一个项目...在Eclipse中,我们打开的时候,他会让我们指定一个工作空间,这个工作空间里面存放的就是我们后面创建的项目Project IDEA里面没有工作空间的概念,只有项目,因为在IDEA中的项目Project...解决问题1:IDEA下多模块开发 创建一个空的项目 ? ? ---- ? ? 到这里后面就是创建普通的项目了,创建完成之后 ? 我们再添加一个模块 ? ? 点击+号再创建一个模块 ? ?...解决问题2:导入再eclipse下创建的空间下的maven项目 首先也是创建一个空的项目,我们再上面的项目基础上进行操作 ?...注意这里点击+号之后选择的时import module选项,直接依次导入maven项目, ? 选择自己的项目 ? ? ? ? ? 然后重复同样的动作把eclipse下所有的maven项目依次导入

    4.9K20

    win10 uwp 如何判断一个控件在滚动条的里面是用户可见

    在 UWP 中如何知道一个元素是在滚动条的显示大小内用户可以看到这个控件?如果需要在控件在滚动条里面用户可以看到的时候触发某个事件,在用户看不到的时候触发另一个事件可以怎么做?...昨天星期八再娶你 大佬问我如何判断在滚动条内可以看到某个元素,他需要在滚动条里面放一个视频播放器,在用户看不到这个播放器的时候自动停下这个播放器 在 UWP 的判断会比在 WPF 中复杂一些,我写过WPF...如何判断一个控件在滚动条的里面是用户可见但是在 UWP 中的小伙伴,也就是做 UWP 的大佬对 API 的设计会更加诡异 在 UWP 没有 ScrollChanged 事件只有ScrollViewer.ViewChanged...在 ScrollViewer.ViewChanged 只有在用户滚动或缩放完成之后才会触发,同时这个事件的参数ScrollViewerViewChangedEventArgs 只有一个表示现在是用户交互的过程还是结束的变量...,所以通过这个事件判断控件是否在滚动条可见是不可靠的 昨天星期八再娶你 大佬告诉我一个可以使用的方法是通过LayoutUpdated 事件拿到触发,在布局属性修改的时候、在窗口修改的时候在运行时的布局的时候都会触发这个事件

    93620

    1981年我在TRS-80上写了一个游戏,40年后,我想让它重新运行起来

    在大家变成大佬之前,估计也受过不少折磨,做过不少训练,甚至也写过一些程序(bug)。如今过去了这么长时间,有没有想过回过头来重新看看那些古早的代码,或者让它重新运行起来?...随后在好友的激励下,博主毅然决定,复活这段代码,让游戏重新运行起来。 把纸质代码加载到TRS-80模拟器上 首先需要解决TRS-80的问题。...但游戏里还是有一些bug,比如会一直移动,或者无法在移动时射箭。这个盒子体积太小,而且似乎也没有派上什么用场,整体更像是一个未完成的概念。这也让文摘菌想起那个用bug堆出来的的马里奥视频。...和很多人一样,现在要写一个这样的程序,哪怕是在TRS-80上,写出的代码可能都会更有条理,也更紧凑,当然bug也会少很多。...那为何不趁着7天小长假,来尝试着“复活”一下过去的代码呢?

    57630

    如何用PVE虚拟化在x86环境下模拟一个Arm开发环境

    什么是Arm开发 这里解释下,这里介绍两类主要开发场景:一类是应用程序,另外一类是专用的系统(当选像华为单纯做芯片的这种,这个不属于这里说的这两类的开发,这个今天先不聊,如果大家感兴趣,可以找时间聊下做芯片到底做啥...但对一个IT从业者,喜欢瞎折腾,喜欢闲搞机的我来说,就想今天刷下固件,明天跑个容器,哪天在跑个脚本什么的(典型的吃的太饱的那种)。...虚拟化实现的原理 采用虚拟化,模拟整个主机系统,利用其它VMM(虚拟化管理系统,如kvm,Xen等)来使用硬件提供的虚拟化支持,创建一个全功能arm虚拟机 简单来说,整个系统中有一个中间商(VMM),对应用程序来说...,我看到的就是一个Arm环境,这些程序在运行的时到硬件层面,会被这种中间商接手,将其指令翻译成x86架构的指令去执行。...参考: Proxmox VE(PVE)7.x 安装ARM虚拟机,对比N1性能测试 参考:一步步教你:在x86平台,如何用Qemu来模拟ARM系统

    1.2K10

    一些好用的jquery技巧

    1、返回顶部按钮 通过使用jQuery中的animate 和scrollTop 方法,不用插件就可以创建一个滚动到顶部的简单动画: // Back to top $('.top').click(function...所有你真正需要做的是在800毫秒的时间内设置文档主体的动画,直到它滚动到文档的顶部。 注:小心scrollTop的一些错误行为。...如果你只是想在用户点击之后展示一个元素的话,那么用fadeIn 和slideDown 方法就很完美。...但是,如果你想要元素在第一次点击的时候出现,然后在第二次点击的时候消失的话,那么可以试试下面的代码: // Fade $('.btn').click(function () { $('.element'.../窗口打开外部链接 在一个新的浏览器tab或窗口中打开外部链接,并确保同一个来源的链接能在同一个tab或者窗口中打开: $('a[href^="http"]').attr('target', '_blank

    3.9K60

    如何通过图像消失点计算相机的位姿?

    首先我们来学习一下在自动驾驶领域中常见的坐标系之间的关系,如图所示: 自动驾驶中坐标系的一般定义如图所示 默认摄像头的坐标系对应于车辆的“右”、“下”和“前”方向 这里首先描述一下如何在世界坐标和相机坐标之间进行变换...(roll)的概念:实际的相机帧和默认相机帧之间的一般旋转可以通过以下方式描述: 首先围绕Zd轴旋转一个角度(称为滚动角度),然后旋转另一个角度(称为俯仰角度)围绕Xd轴,最后是围绕Yd轴的另一个角度(...这些线在图像中相交的点称为消失点。 使用这种消失点方法来计算相机位姿,实际上我们只能恢复相机的偏航和俯仰,从直觉上讲,消失点方法无法恢复横滚角和平移,因为消失点不受这两种方法的影响!...我们刚刚所做的假设非常非常重要:车辆与车道对齐,车道笔直,然后,图像中车道线的交点(消失点)将为我们提供有关摄像头安装的位姿信息,即摄像头相对于车辆的方向,否则,它只能告诉我们车辆相对于车道线的方向。...公式推导 首先根据相机的投影方程 因为这是齐次坐标中的一个方程,我们可以将两边乘以1/Z,并将这个数字换算到左边的λ中: 如果让Z为无穷大,则得到图像空间中消失点的坐标(u,v): 我们定义p∞=

    4.6K30

    在大环境下如何避免当生锈的螺丝钉成为一个优秀的安卓开发者

    2014 年开始的移动红利之后,客户端急缺的情况下,客户端开发经历了 2015 - 2016 年的野蛮成长,但是 2020 的今天整个移动端社区都趋向稳定,而且第三方支持丰富,开发一款应用的成本降低了,...首先明确一个观点,那就是移动开发是必须有的,只要平台在原生开发就必须有。但是浑水摸鱼的日子没有以前那么好过了,因为小程序和各种跨平台开发让企业有了更多的选择。...Android行情艰难如何成为一个优秀的程序员? 优秀的门槛一直在变高,岁月无情,那我们怎么应对?...在增加自己技术储备的同时,也开拓自己的眼界,我个人更希望自己的生涯是去 “精通” 开发,而不是定位于某种语言或框架。 所以我会保持去关注新的行业动态,了解一些新兴技术实现,即使只是知道它的名字和作用。...危机感和兴趣让我有动力这么做,当然,在某个领域保持深度还是有必要的,毕竟吃饭的东西不能丢, 但是保持学习和好奇心,是让职业生涯更有生命力的保证: 同样地,每年我们都会看到,在一个新的技术发布后,曾经在某一领域具有权威的领导者失去他的领导地位

    57500

    何为 content-visibility?

    -webkit-scrollbar 相关样式,让滚动条更明显。...当然,在向下滚动的过程中,上方消失的已经被渲染过且消失在视口的元素,也会因为消失在视口中,重新被隐藏。因此,即便页面滚动到最下方,整体的滚动条高度还是没有什么变化的。...从上面的例子,也能看到,在利用 content-visibility: auto 处理长文本、长列表的时候。在滚动页面的过程中,滚动条一直在抖动,这不是一个很好的体验。...} 如此之后,浏览器会给未被实际渲染的视口之外的 .paragraph 元素一个高度,避免出现滚动条抖动的现象: 你可以自己亲自尝试感受一下:CodePen Demo -- content-visibility...总结一下 再简单总结一下: 在一些需要被频繁切换显示、隐藏状态的元素上,使用 content-visibility: hidden,用户代理无需重头开始渲染它和它的子元素,能有效的提升切换时的渲染性能;

    1.6K10

    IOS 滚动字幕

    一共四种形式的滚动字幕,我们先来看第一个 水平连续滚动字幕: 这种一看就是一组view放在scrollview实现的滚动,但是如何实现循环滚动呢,思路如下 1:加入滚动字幕有五组文本,滚动到最后一组时...3:我们可以让滚动框在最后一个文本滚动消失后,重置滚动框的坐标,如此反复,就可以实现无线循环 添加UI的部分代码就不贴了,需要的可以自行下载demo //获取到最大滚动范围就可以启动滚动事件 -(void...: 这种的更简单,只需要一个label,只要在滚动过程中不断地改变label展示文本就可以了 1:实时计算要加载的文本的宽度,加上屏宽*2,将label放在最中间 2:每次label消失之后,更新展示文本和滚动区域...3:展示完成最后一个文本后,文本下一个要再展示第一个文本实现循环 关键代码: -(void)setTextArr:(NSMutableArray *)textArr{ _textArr=...像这种第五个文本后面紧跟着第一个文本的,而且又是循环滚动的,其实思路和第一个水平滚动的是一样的,同样数据翻倍,滚动完一次重置,这样就可以实现循环 不过这里我换成了tableview来实现,没有用数组添加

    1.3K40

    iOS 9人机界面指南(四):UI元素(下)- 腾讯ISUX

    在默认情况下,分钟滑轮包含从0到59共60个值,如果你要展示一个颗粒度较大的时间,你可以让分钟滑轮的单位刻度变大,只要这个刻度可以整除60。...如果进程所需时间很短,则不需要用到它,因为很可能在用户注意到它之前,它就消失了。 4.3.8 页面控件 页面控件告诉用户当前共打开了多少个视图,还有他们正处在其中哪一个。 ?...大多数情况下,你可以通过定义一个清晰的按钮名称、选择一个不一样的标题颜色或提供上下文情景提示来让用户知道这是一个按钮而非普通文本。...你可以自定义一个文本框,帮助用户更好地理解如何使用它。举个例子,你可以在文本框的左侧或者右侧加入自定义图形,或者加入系统按钮,如书签按钮等。...横屏模式下警告框的高度会受到限制,其大小与竖屏下可能会有区别。我们推荐您限定好警告框的最大高度,保证在竖屏和横屏模式下文字均能不需要滚动便可完整地显示。 一般情况下,使用两个按钮的警告框。

    13.2K30

    前端成神之路-CSS高级技巧

    元素的显示与隐藏 目的 让一个元素在页面中消失或者显示出来 场景 类似网站广告,当我们点击关闭就不见了,但是我们重新刷新页面,会重新出现!...就是图片底侧会有一个空白缝隙。 解决的方法就是: 给img vertical-align:middle | top| bottom等等。 让图片不要和基线对齐。 ? ​...图所示为网页的请求原理图,当用户访问一个网站时,需要向服务器发送请求,网页上的每张图像都要经过一次请求才能展现给用户。...然而,一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接受和发送请求,这将大大降低页面的加载速度。...5.4 制作精灵图(了解) CSS 精灵其实是将网页中的一些背景图像整合到一张大图中(精灵图),那我们要做的,就是把小图拼合成一张大图。 大部分情况下,精灵图都是网页美工做。

    6.8K30

    css 菜鸟

    外部样式表可以极大提高工作效率 外部样式表通常存储在 CSS 文件中 多个样式定义可层叠为一个 如何插入样式表 插入样式表的方法有三种: 外部样式表(External style sheet...Content(内容) - 盒子的内容,显示文本和图像。 这里的文本内容是可以滚动的,滚动条方向是垂直方向。 这里的文本内容是可以滚动的,滚动条方向是垂直方向。 这里的文本内容是可以滚动的,滚动条方向是垂直方向。... 这里的文本内容是可以滚动的,滚动条方向是垂直方向。 这里的文本内容是可以滚动的,滚动条方向是垂直方向。 !...p:before 在每个 元素之前插入内容 :after p:after 在每个 元素之后插入内容 :lang(language) p:lang(it) 为 元素的lang属性选择一个开始值

    6110

    CSS——06扩展:高级

    元素的显示与隐藏 目的 让一个元素在页面中消失或者显示出来 场景 类似网站广告,当我们点击关闭就不见了,但是我们重新刷新页面,会重新出现!...就是图片底侧会有一个空白缝隙。 解决的方法就是: 给img vertical-align:middle | top| bottom等等。 让图片不要和基线对齐。...通常我们使用于强制一行显示内容 white-space:normal ;默认处理方式 white-space:nowrap ; 强制在同一行内显示所有文本,直到文本结束或者遭遇br标签对象才换行。...然而,一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接受和发送请求,这将大大降低页面的加载速度。...实际上 本质就是定位,哪一个大图,如何通过定位的形式把,大图里包含的小图定位到想要的位置 出现了CSS精灵技术(也称CSS Sprites、CSS雪碧)。

    4.7K40
    领券