WPF中ListBox滚动时的缓动效果

原文:WPF中ListBox滚动时的缓动效果

上周工作中遇到的问题:

常规的ListBox在滚动时总是一格格的移动,感觉上很生硬。

所以想要实现类似Flash中的那种缓动的效果,使ListBox滚动时可以很流畅。

修改模板里的动画效果是一种方法,不过这里有更简单的,WPF为我们提供了行为代码,可以编辑在ListBox的ItemsPanelTemplate模板中,实现方法如下:

右键ListBox选择“编辑其它模板”->"辑项的布局"->"编辑副本",我这里是因为已经编辑过了,所以“编辑当前模板”这一项才会可用。

点击确定后,会出现左边的样子。

在面板中选择“行为”->“FluidMoveBehavior,把这个行为拖到上图StackPanel这个面板上

最后,在右侧属性窗口,把"AppliesTo"这一项,选择"Children"。现在在运行一下,你的ListBox在滚动式就平滑的多了。

PS:这里还可以设置其它的动画属性。

原文地址:https://www.cnblogs.com/lonelyxmas/p/9547370.html

时间: 2024-10-14 00:41:33

WPF中ListBox滚动时的缓动效果的相关文章

聚焦滚动和惯性缓动

今天我们来看看滚动和惯性缓动: 滚动 以下是三种实现方式: 1) 利用原生的css属性 overflow: scroll <div id="parent" style="overflow:scroll;> <div id='content'>内容区域</div> </div> Notice: 在android 有bug, 滚动完后会回退到最顶端的内容区域,解决办法是使用后两种方式实现 2)js 编程实现 思路:对比手指在屏幕上移

WPF中Listbox/ListView 横向展示/滑动内容的方法

<ListView Name="BoardListView" ScrollViewer.VerticalScrollBarVisibility="Hidden" Height="100" VerticalAlignment="Bottom"> <ListView.ItemsPanel> <ItemsPanelTemplate> <WrapPanel/> </ItemsPan

镜头以及各种运动的缓动效果

如果使用物理学的匀加速(减速)运动,会发现实际效果显得迟缓,而且代码还很复杂,不如使用简单的“逐渐插值靠拢”的办法. 就是在每帧更新中,cur = lerp(cur, dst, factor) 其中 cur 是当前值,dst 是目的值,factor 则是一个很小的浮点数.这样插值的结果作为新的当前值,下一帧继续插值.实际产生的缓动效果比匀加速(减速)效果更好. 可以加入两个控制参数,以调节变化的速度. 一个是 lerpSpeed,用来生成上面的 factor: factor = lerpSpee

animation js控制 缓动效果

<!DOCTYPE html><html><head><meta charset="utf-8" /><title>缓动效果</title></head><body><div id="btn" style='position:absolute;'>按钮</div><script type="text/javascript"

易语言EXUI登录界面(附带缓动效果)源码

易语言EXUI登录界面(附带缓动效果)源码,调用了精易模块. 登录的时候有动效果,可以更换配色,按钮样式和背景图片,界面做的挺好看. 下载地址:https://6yunpan.pipipan.com/fs/17009107-357509637 原文地址:https://www.cnblogs.com/xiazai/p/10626497.html

转:WPF中ListBox的创建和多种绑定用法

先从最容易的开始演示ListBox控件的创建. Adding ListBox Items下面的代码是向ListBox控件中添加多项ListBoxItem集合.XAML代码如下:<ListBox Margin="10,10,0,13" Name="listBox1" HorizontalAlignment="Left"         VerticalAlignment="Top" Width="194"

HTML5手机开发——滚动和惯性缓动

1. 滚动 以下是三种实现方式: 1) 利用原生的css属性 overflow: scroll <div id="parent" style="overflow:scroll;>    <div id='content'>内容区域</div></div> Notice: 在android 有bug, 滚动完后会回退到最顶端的内容区域,解决办法是使用后两种方式实现 2)js 编程实现 思路:对比手指在屏幕上移动前后位置变化改变内容

window.requestAnimationFrame与Tween.js配合使用实现动画缓动效果

window.requestAnimationFrame 概述 window.requestAnimationFrame()这个方法是用来在页面重绘之前,通知浏览器调用一个指定的函数,以满足开发者操作动画的需求.这个方法接受一个函数为参,该函数会在重绘前调用. 注意: 如果想得到连贯的逐帧动画,函数中必须重新调用 requestAnimationFrame(). 如果你想做逐帧动画的时候,你应该用这个方法.这就要求你的动画函数执行会先于浏览器重绘动作.通常来说,被调用的频率是每秒60次,但是一般

利用tween.js算法生成缓动效果

在讲tween类之前,不得不提的是贝塞尔曲线了.首先,贝塞尔曲线是指依据四个位置任意的点坐标绘制出的一条光滑曲线.它在作图工具或动画中中运用得比较多,例如PS中的钢笔工具,firework中的画笔等等.无论运用在哪里,它们的原理都是一样的.同样,在用js实现运动效果时,我们也可以利用贝塞尔曲线来实现不同的特效,而tween.js就是一个封装好的计算辅助算法.你可以通过连续输入多个值,然后利用贝塞尔曲线公式输出不同的值,最终形成了一条光滑的曲线.因为一条曲线上的值的不一样的,所以我们可以利用曲线的