[c#][Windows Phone | Windows]FlipView循环滚动,图片轮播
2015-10-24 20:33
489 查看
想把FlipView内填充的图片能够自动的滚动播放
<FlipView.ItemTemplate>
<DataTemplate>
这里填充数据的绑定,但是绑定不可能是无限的啊,于是采取一些方法去做。
例子,分别有3张图片,红黄蓝3种颜色,黑色边框为当前数据绑定的范围。
![](http://img.blog.csdn.net/20151024211420009?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
现在有一个思路,获取到现在滚动播放图片的索引序号,序号范围应该是012,那么只要让012这几个数字重复就行,那么我们将示意图改一下
![](http://img.blog.csdn.net/20151024212749342?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
初始为1,然后设置定时器,不断+1,当遇到最后一张,既4时,将图片显示改为1,由于是同一张图片,所以看不出有什么变化,所以继续往后面放图片即可。左滑同理。
先上xaml
.cs:
先定义一个定时器
构造函数里添加切换的时间,并绑定事件
ChangeImage:
<FlipView.ItemTemplate>
<DataTemplate>
这里填充数据的绑定,但是绑定不可能是无限的啊,于是采取一些方法去做。
例子,分别有3张图片,红黄蓝3种颜色,黑色边框为当前数据绑定的范围。
现在有一个思路,获取到现在滚动播放图片的索引序号,序号范围应该是012,那么只要让012这几个数字重复就行,那么我们将示意图改一下
初始为1,然后设置定时器,不断+1,当遇到最后一张,既4时,将图片显示改为1,由于是同一张图片,所以看不出有什么变化,所以继续往后面放图片即可。左滑同理。
先上xaml
<FlipView Name="dataFlipView" Height="200" VerticalAlignment="Top" SelectionChanged="dataFlipView_SelectionChanged" > <FlipView.ItemTemplate> <DataTemplate> <Grid Name="FlipViewItemGrid" Tapped="FlipViewItemGrid_Tapped"> <Image x:Name="BannerImage" Source="{Binding Src}" Stretch="UniformToFill" VerticalAlignment="Center" HorizontalAlignment="Center"/> </Grid> </DataTemplate> </FlipView.ItemTemplate> </FlipView>
.cs:
先定义一个定时器
DispatcherTimer _timer = new DispatcherTimer();//定义一个定时器
构造函数里添加切换的时间,并绑定事件
_timer.Interval = TimeSpan.FromSeconds(7.0); _timer.Tick += ChangeImage;
ChangeImage:
private void ChangeImage(object sender, object e) { try { dataFlipView.SelectionChanged -= dataFlipView_SelectionChanged; if (dataFlipView.Items != null && dataFlipView.Items.Count > 1 && dataFlipView.SelectedIndex < dataFlipView.Items.Count - 1) { dataFlipView.SelectedIndex++; } else { dataFlipView.SelectedIndex = 1; } Debug.WriteLine(dataFlipView.SelectedIndex); dataFlipView.SelectionChanged += dataFlipView_SelectionChanged; } catch (Exception) { Debug.WriteLine("主页,图片切换异常"); } }
相关文章推荐
- 如何重装TCP/IP协议
- Windows 8 官方高清壁纸欣赏与下载
- 谁是桌面王者?Win PK Linux三大镇山之宝
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows Clang开发环境备忘
- c#调用COM组件
- 从Windows系统下访问Linux分区相关软件
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows下搭建本地SVN服务器
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- 微软镜像下载
- windows server域用户提升到本地更高权限组中的方法
- 使用命令修改注册表键值及权限
- 通过手机、电脑远程开关机,Windows和linux机手机,电脑相互控制
- Windows XP最新应用技巧大荟萃
- Windows 系统组策略应用全攻略(上)第1/2页
- VBS脚本写的Windows硬件检测工具分享