[c#][Windows Phone | Windows]FlipView循环滚动,图片轮播

想把FlipView内填充的图片能够自动的滚动播放
<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("主页,图片切换异常");
        }
}





  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值