首页
学习
活动
专区
圈层
工具
发布

Silverlight:ScorllViewer随Tab键自动跟随子控件的Focus滚动

当ScrollViewer里包含很多子控件时,默认情况下只能用鼠标手动拖动(或滚轮)滚动条以实现内容的滚动,假如用户是键盘高手,习惯于用Tab键来切换子控件焦点时,即使当前获得焦点的控件在不可见区域,滚动条也不会自动跟随着滚动到相应位置...}   即:给ScrollViewer的GotFocus事件增加_ScrollViewer_GotFocus处理方法,然后计算当前获取焦点的控件与ScorllViewer的偏移距离,最终得出滚动条应该滚动的偏移量...上面这一段代码基本上能解决问题,但是有一个小小的不足:如果有3个输入框从上到下排着,且都在可视范围内,这时如果用鼠标去点击其中一个不是当前获得焦点的输入框,也会触发以上代码,导致滚动条跳动一段距离,这个给用户的感觉好象界面总是在...静下来细想一下:其实我们的本意是要解决用户按TAB键的问题,只要在KeyDown或KeyUP事件里处理就行了,没必要在GetFocus时处理,于是有了下面的改进版: <UserControl x:Class...private void ScrollViewer_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.Tab

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

    输入框高度随输入内容变化

    实现这个效果的关键点只有两点: 获取正在输入内容在UITextView占用了多少行 让UITextView动态改变大小 一开始,为了解决第一个问题,我一直在考虑怎么获取换行事件,发现只用捕捉\n输入即可...所以感觉这个思路太麻烦 对于第一点,有一个方便的计算方法,就是获取UITextView内容的高度比上UITextView的字体的高度,即可得到当前的行数。...interface UITextView : UIScrollView 这一点你可以不知道,但根据平时的操作经验,一个UITextView输入文字过多时是可以用手上下拖动浏览内容的...好了,知道其集成UIScrollView就好办了,因为UITextView只有在输入内容超过其显示范围才可以拖动,那就知道输入文字的bound就是UIScrollView的contentSize。...这样就知道输入内容的总大小了。 那每一行的高度呢? 按我以前的经验,行高差不多是字体大小的 4/3 倍.这样设值显示效果一般都挺好。所以可以设值一个宏定义来处理与字体相关的高度。

    3.5K10

    Js处理滚动条和日期框

    此思维导图中的语法要结合文章内容来看,切记不可死读书,要活学活用。 Js处理 1.常用的元素基本操作是什么? 四个基本操作。 1.send_keys() 2.click() 3.获取元素的文本内容。...有2种方式 1.通过Js处理滚动条 如果将元素拖动到可见区域之后,再去操作它,也就是处理这个滚动条。...例如底部的页面跳转:有的系统,虽然进来是这个地方,想操作页面底部的元素,可以操作,也不需要拖动滚动条,它会自动将它拖动到可见区域,然后去操作它。...补充下:send_keys可以输入的内容:字符串或键盘内容。 处理不可编辑改成可编辑的,然后按照它这个格式输入日期。...Js中innerText的用法: innerText可获取或设置指定元素标签内的文本值,从该元素标签的起始位置到终止位置的全部文本内容(不包含html标签)。

    13.6K10

    JS判断滚动条是否停止滚动

    背景:昨天一个同事有种需求,有一个展示数据区域的div,带滚动条,当滚动条滚动时,需要向后台发请求,计算数据,再拿到前台展示。        ...分析:由于数据量级别较大,所以当滚动条滚动时,如果时时向后台发请求,对服务器和浏览器都造成巨大的压力。想到的解决方案是,当滚动条停止时,再去发请求计算数据。...那么问题来了,如何判断滚动条是否停止了呢?        解决:搜索了一下,js本身是无法判断滚动条是在滚动状态还是停止状态,只有通过其它方式了。...后来想到的思路是当滚动条滚动的时候,发起一个定期执行的方法,并记录一次当前滚动条到顶部的距离,这个方法中判断此时滚动条到顶部的距离是否和上次记录的相等,如果相等,那么说明停止滚动了,不相等,还在滚动。...-- // 让浏览器出现滚动条 for(var i = 0; i < 100; i++) { document.write(""); } var topValue = 0,//

    23.1K00

    LabVIEW显示控件中内容过长设置自动滚动条

    本篇博文分享程序设计时一个细节小技巧,在LabVIEW显示控件中内容过长设置自动滚动条。...LabVIEW显示控制设置滚动条是非常简单的,选中组件,鼠标右键选择:属性→外观→使能显示垂直滚动条,如下图所示: 这样可见显示控件右侧有了垂直滚动条,如下所示: 但是在使用时,当显示控件中数据显示填充满后...,滚动条并不会自动下移,此时为了方便查看数据可以设置滚动条自动调整至末尾。...需要在程序面板中选中显示控件,鼠标点击右键,选择:创建→属性节点→文本→滚动条位置,如下图所示: 滚动条位置属性可以设置滚动框在滚动条中的位置,具体说明如下所示: 引用了滚动条位置属性,在程序中将最大行数赋予该属性

    3.7K30

    python自动化之JS处理滚动条

    滚动条操作 浏览器滚动条并没有提供相应的操作方法。在这种情况下,就可以借助JavaScript也就是JS来控制浏览器的滚动条。...这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。 滚动条是无法直接用定位工具来定位的。...selenium里面也没有直接的方法去控制滚动条,这时候只能借助JS了,还好selenium提供了一个操作js的方法: execute_script(),可以直接执行js的脚本。...--scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。 --scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。...(js) # 滚动到顶部 js = "window.scrollTo(0,0)" driver.execute_script(js) sleep(5) # 滚动到底部 js="var q=document.documentElement.scrollTop

    6.5K20
    领券