社区
WPF/Silverlight
帖子详情
WPF 一组图片循环移动
x624722359
2012-06-28 10:53:21
要实现的是 一个视图里面有几张图片排列在一起,然后他们一起从屏幕左边往右边移动,当此组图片显示完毕,然后接着又从头开始移动。如此反复,希望牛人指点。最好有例子。
...全文
280
4
打赏
收藏
WPF 一组图片循环移动
要实现的是 一个视图里面有几张图片排列在一起,然后他们一起从屏幕左边往右边移动,当此组图片显示完毕,然后接着又从头开始移动。如此反复,希望牛人指点。最好有例子。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
x624722359
2012-07-11
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
你可以移动Canvas 当从左边移动到右边的时候 你让他在返回左边继续做运动,这个需要用到动画
Image img = new Image();
img = _obj as Image;
if (img.Opacity > 1)
{
img.……
[/Quote]没搞定。。没人来。就你的还行。分给你了
x624722359
2012-07-11
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
我有个不是图片的循环滚动示例,把滚动的文本数据,替换成图片就可以实现你说的效果。不过中间你要设置好图片的路径即可。
资源位置:http://download.csdn.net/detail/david_xgl/4340219
[/Quote]你的那个不是WPF。。我晕
yulie_1234
2012-06-28
打赏
举报
回复
你可以移动Canvas 当从左边移动到右边的时候 你让他在返回左边继续做运动,这个需要用到动画
Image img = new Image();
img = _obj as Image;
if (img.Opacity > 1)
{
img.Opacity = img.Opacity / 100;
}
double actime;
double delaytime;
if (ca.Time == "0")
{
}
if (!ca.IsTimer)
{
actime = 0.1;
}
else
{
if (double.Parse(ca.Time) == 0)
{
actime = 0.1;
}
else
{
actime = double.Parse(ca.Time);
}
}
Storyboard sb = new Storyboard();
// ImageDelBinding(img);
if (ca.IsWidth)
{
DoubleAnimation widthA = new DoubleAnimation(img.Width, double.Parse(ca.Width), new Duration(TimeSpan.FromSeconds(actime)));
Storyboard.SetTargetProperty(widthA, new PropertyPath(Image.WidthProperty));
sb.Children.Add(widthA);
}
if (ca.IsHeight)
{
DoubleAnimation heightA = new DoubleAnimation(img.Height, double.Parse(ca.Height), new Duration(TimeSpan.FromSeconds(actime)));
Storyboard.SetTargetProperty(heightA, new PropertyPath(Image.HeightProperty));
sb.Children.Add(heightA);
}
if (ca.IsX)
{
DoubleAnimation leftA = new DoubleAnimation(double.Parse(img.GetValue(Canvas.LeftProperty).ToString()), double.Parse(ca.X), new Duration(TimeSpan.FromSeconds(actime)));
Storyboard.SetTargetProperty(leftA, new PropertyPath(Canvas.LeftProperty));
sb.Children.Add(leftA);
}
if (ca.IsY)
{
DoubleAnimation topA = new DoubleAnimation(double.Parse(img.GetValue(Canvas.TopProperty).ToString()), double.Parse(ca.Y), new Duration(TimeSpan.FromSeconds(actime)));
Storyboard.SetTargetProperty(topA, new PropertyPath(Canvas.TopProperty));
sb.Children.Add(topA);
}
if (ca.IsAlpha)
{
double alpha_d;
if (double.Parse(ca.Alpha) > 1)
{
alpha_d = double.Parse(ca.Alpha) / 100;
}
else {
alpha_d = double.Parse(ca.Alpha) ;
}
DoubleAnimation oA = new DoubleAnimation(img.Opacity, alpha_d, new Duration(TimeSpan.FromSeconds(actime)));
Storyboard.SetTargetProperty(oA, new PropertyPath(Image.OpacityProperty));
sb.Children.Add(oA);
}
if (!ca.IsDelay)
{
delaytime = 0;
}
else
{
delaytime = double.Parse(ca.Delay);
}
// sb.FillBehavior = FillBehavior.Stop;
sb.Completed += new EventHandler(sb_Completed);
sb.BeginTime = TimeSpan.FromSeconds(delaytime);
sb.Begin(img);
大概的动画 可以这样来做 你看一下自己组织组织
微恒软件
2012-06-28
打赏
举报
回复
我有个不是图片的循环滚动示例,把滚动的文本数据,替换成图片就可以实现你说的效果。不过中间你要设置好图片的路径即可。
资源位置:
http://download.csdn.net/detail/david_xgl/4340219
WPF
文字
循环
滚动效果资源
该博客介绍了
WPF
文字
循环
滚动效果资源,此资源利用
WPF
和计时器控制Label
移动
,实现文字在窗口限制区域内
循环
滚动。具体通过设置计时器更新Label位置达成效果,文字到边缘会自动返回。使用需安装.NET框架,具备
WPF
编程知识,按示例代码配置调试。
WPF
文字
循环
滚动效果资源:实现窗口内文字动态
循环
显示
这是一个基于
WPF
的文字
循环
滚动效果资源,利用
WPF
控件和计时器更新文字位置,实现窗口指定区域内文字
循环
滚动。它易于集成、自定义性强,适用于信息展示、内容展示、游戏开发等场景,能提升用户交互体验。
WPF
图片
的滚动播放实现方法之一
本文介绍了
WPF
图片
滚动播放的实现方法。先在窗口拖入ListBox控件,添加属性隐藏滚动条并让内容水平展示。
图片
数据准备有两种方式,一是利用示例数据
图片
,二是后台动态加载。还说明了平滑效果的操作方法,最后需写后台代码,使用定时器。
WPF
无缝
图片
滚动
本文介绍了一种在
WPF
中实现双向拖动动画效果的方法。通过监听鼠标按下与释放事件,计算
移动
距离,并利用DoubleAnimation类实现
图片
的平滑
移动
。文章提供了完整的XAML界面代码及后台C#代码。
WPF
【无限滚动
图片
浏览】自定义控件
本文围绕
WPF
自定义
图片
浏览控件展开,作者巩固
WPF
知识后开发此控件,过程中解决诸多技术与逻辑难题。还介绍了光标制作、控制面板设计、控件结构分层、虚拟化加载等内容,最后给出了Generic.xaml和后台代码。
WPF/Silverlight
8,757
社区成员
12,031
社区内容
发帖
与我相关
我的任务
WPF/Silverlight
WPF/Silverlight相关讨论
复制链接
扫一扫
分享
社区描述
WPF/Silverlight相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章