积极答复者
求解一动画

问题
答案
-
我觉得你可以放一个Canvas在你的ListBox上面,然后设置这个Canvas的背景颜色是Transparent,并且设置HitTest为false,这样这个透明的Canvas就会不接受任何点击事件。
接着你放一个Rect在这个Canvas上面,然后根据SelectItem的位置去设置这个Rect在Canvas上面的位置,当SelectionChanged的时候你应用动画在这个Rect上,这样就会实现你说的效果。
另外你也可以做上面的操作通过AdornerLayer.
Sheldon _Xiao[MSFT]
MSDN Community Support | Feedback to us
Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已标记为答案 Sheldon _XiaoModerator 2011年12月13日 9:07
-
我当初做这个效果的时候也是和你说的这样。找一个透明的Grid里面放一个Canvas进行定位移动。但是这个定位必须要符合每个Item当前所在的位置,进行判定。当Item多的时候判定位置就复杂了。我只能做一个鼠标点哪,这个Canvas能的到那个位置并带延迟动画。
具体参照:http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505332.html 如何创建移动动画。
- 已标记为答案 Sheldon _XiaoModerator 2011年12月13日 9:07
全部回复
-
我觉得你可以放一个Canvas在你的ListBox上面,然后设置这个Canvas的背景颜色是Transparent,并且设置HitTest为false,这样这个透明的Canvas就会不接受任何点击事件。
接着你放一个Rect在这个Canvas上面,然后根据SelectItem的位置去设置这个Rect在Canvas上面的位置,当SelectionChanged的时候你应用动画在这个Rect上,这样就会实现你说的效果。
另外你也可以做上面的操作通过AdornerLayer.
Sheldon _Xiao[MSFT]
MSDN Community Support | Feedback to us
Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已标记为答案 Sheldon _XiaoModerator 2011年12月13日 9:07
-
我当初做这个效果的时候也是和你说的这样。找一个透明的Grid里面放一个Canvas进行定位移动。但是这个定位必须要符合每个Item当前所在的位置,进行判定。当Item多的时候判定位置就复杂了。我只能做一个鼠标点哪,这个Canvas能的到那个位置并带延迟动画。
具体参照:http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505332.html 如何创建移动动画。
- 已标记为答案 Sheldon _XiaoModerator 2011年12月13日 9:07
-
用border不合适
Sheldon _Xiao[MSFT]
MSDN Community Support | Feedback to us
Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
我正在尝试做一下。不过你们没看清楼主的问题。人家说的是 ListBoxItem 的背景变成蓝色,不是图片上的那种圆角边框,当然二者原理完全相同。Canvas 没必要,直接用 Grid 就行了。
在canvas放一个蓝色的Rect,移动这个蓝色的Rect。
Sheldon _Xiao[MSFT]
MSDN Community Support | Feedback to us
Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
感谢你的sample,相信对其他members会有帮助
Sheldon _Xiao[MSFT]
MSDN Community Support | Feedback to us
Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.