Windows Phone 8.1 新特性 - 控件之FlipView
本篇为大家介绍 Windows Phone 8.1 中新增的 FlipView 控件,它的中文名字叫做:翻转视图。
虽然听起来有点拗口,但是它的用途大家一定不会陌生。在 Windows Phone 8 中,我们经常会为应用首次启动时加一个引导页,几张引导图片滑动来显示,最后点击确定进入应用。我们会为它写一个控件来实现,而FlipView 可以轻松的完成这一功能。FlipView不止可以作为图片浏览控件,同时还可以作为文本切换,步骤切换等等。下面我们先来看一个简单的例子:
<FlipView>
<TextBlock Text="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="200"/>
<TextBlock Text="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="200"/>
<TextBlock Text="3" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="200"/>
</FlipView>
我们给FlipView添加了三个元素,分别是1,2 和 3。来看看运行效果:

如上图中,我们通过水平滑动来显示1,2 和 3,但是不能循环显示,也就是说不能从1向右滑动显示3,或者从3向左滑动显示1。
与其他集合类控件相似,FlipView 支持直接添加元素集合或者将 ItemsSource 绑定到数据源来添加元素。下面我们分别来演示这两种方式:
(1) 直接添加元素集合
<FlipView SelectedIndex="0">
<TextBlock Text="TextBlock" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="70"/>
<Image Source="Assets/setting.png" Width="100"/>
<Border Background="Green" Width="200" Height="200"/>
</FlipView>
我们添加了三个不同类型的元素。同时我们可以通过修改 SelectedIndex 属性来决定初始显示的元素。来看看运行效果:

(2) 通过ItemsSource属性绑定
<FlipView x:Name="demoFlipView">
<FlipView.ItemTemplate>
<DataTemplate>
<Grid Background="YellowGreen">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding DemoContent}" FontSize="60"/>
</Grid>
</DataTemplate>
</FlipView.ItemTemplate>
<FlipView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</FlipView.ItemsPanel>
</FlipView>
我们为 FlipView 指定了 ItemTemplate 和 ItemsPanel。其中 ItemsPanel 为纵向排列的 StackPanel,这样我们就可以通过上下滑动的方式来显示元素了。来看看后台代码中的数据绑定:
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
List<Demo> demoList = new List<Demo>();
demoList.Add(new Demo() { DemoContent = "First Item"});
demoList.Add(new Demo() { DemoContent = "Second Item" });
demoList.Add(new Demo() { DemoContent = "Last Item" });
demoFlipView.ItemsSource = demoList;
}
public class Demo
{
public string DemoContent { get; set; }
}
绑定代码很简单,这里不做过多说明,来看看运行效果:

上图中,三个元素通过上下滑动的方式显示出来。同样,我们可以利用代码来控制 FlipView 显示哪个元素。比如一个自动浏览的相册,每隔几秒变换一张图片,到最后一张后,重新再来。来看看代码实现:
DispatcherTimer _timer = new DispatcherTimer();
_timer.Interval = TimeSpan.FromSeconds(1.0);
_timer.Tick += ((sender, e) =>
{
if (demoFlipView.SelectedIndex < demoFlipView.Items.Count - )
demoFlipView.SelectedIndex++;
else
demoFlipView.SelectedIndex = ;
});
_timer.Start();
如上的代码即可实现 FlipView 的自动切换效果,这里我们不需截图说明了。
好了,到这里我们就把 FlipView 的基本应用介绍完了,希望对大家有帮助,谢谢。
Windows Phone 8.1 新特性 - 控件之FlipView的更多相关文章
- Windows Phone 8.1 新特性 - 控件之列表选择控件
本篇我们来介绍Windows Phone 8.1 新特性中的列表选择控件. 在Windows Phone 8 时代,大家都会使用 LongListSelector 来实现列表选择控件,对数据进行分组显 ...
- Windows Phone 8.1 新特性 - 控件之应用程序栏
2014年4月3日的微软Build 2014 大会上,Windows Phone 8.1 正式发布.相较于Windows Phone 8,不论从用户还是开发者的角度,都产生了很大的变化.接下来我们会用 ...
- 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector
[源码下载] 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector 作者:webabcd 介绍与众不同 windows phone 8.0 之 新的 ...
- 重新想象 Windows 8.1 Store Apps (78) - 控件增强: ScrollViewer, FlipView, Popup
[源码下载] 重新想象 Windows 8.1 Store Apps (78) - 控件增强: ScrollViewer, FlipView, Popup 作者:webabcd 介绍重新想象 Wind ...
- 重新想象 Windows 8.1 Store Apps (79) - 控件增强: MediaElement, Frame
[源码下载] 重新想象 Windows 8.1 Store Apps (79) - 控件增强: MediaElement, Frame 作者:webabcd 介绍重新想象 Windows 8.1 St ...
- 重新想象 Windows 8.1 Store Apps (93) - 控件增强: GridView, ListView
[源码下载] 重新想象 Windows 8.1 Store Apps (93) - 控件增强: GridView, ListView 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...
- 与众不同 windows phone (51) - 8.1 新增控件: DatePickerFlyout, TimePickerFlyout
[源码下载] 与众不同 windows phone (51) - 8.1 新增控件: DatePickerFlyout, TimePickerFlyout 作者:webabcd 介绍与众不同 wind ...
- 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图
[源码下载] 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Co ...
- Windows Phone 8.1新特性 - 应用商店启动协议
Windows Phone 8.1 Preview SDK 发布也有几个月了,之前断断续续也写过几篇 Windows Phone 8.1 新特性的文章,今天给大家介绍一下应用商店启动协议相关的知识. ...
随机推荐
- 使用命令行执行webpagetest进行测试
背景 使用webpagetest进行性能分析,需要一个一个url的去执行,需要人为去等,比较繁琐.而api很好的解决了这个问题,可以通过命令行等执行测试,也可以写成一个常规脚本,针对每个版本的常规ur ...
- Linux Svn 安装过程及配置
重要的是第一步的安装,第二步配置可能没用,但是没试过,因为服务器上已经安装了第一步. 此处的第二步只为做个记录,说明一下里边的配置文件的用途. 3. 自己实际操作中的的配置记录(参照服务器别人的配置记 ...
- 驱动开发学习笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统
驱动开发读书笔记. 0.02 基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflas ...
- strcpy(),strcat()的用法
strcpy(): 定义一个字符串char a[20],和一个字符串c[]="i am a teacher!"; 把c复制到a中就可以这样用:strcpy(a,c); 这个函数包含 ...
- android之Fragment基础详解(一)
一.Fragment的设计哲学 Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕比手机的大得多,有 ...
- js-url打开方式
引用自 : 老张的博客 *.location.href 用法: top.location.href="url" 在顶层页面打开url(跳出框架) self.loc ...
- ios xib或storyBoard的那些小方法
今天看了一下xib里的一些小技巧,但是百度一搜的话,网上已经有人写过教程了,在这里我也就懒一下,不写那么详细了,就写一些如何百度的方法! 1."通过KVC修改占位文字的颜色" [t ...
- iOS系统导航/自绘制导航路线
系统自带导航 /** 系统自带导航 当前位置导航到目的地 1.根据目的地进行地理编码 2.把当前位置和目的地封装成MKMapItem对象 3.使用 MKMapItem openMapsWithItem ...
- CentOS下的Memcache安装步骤(Linux+Nginx+PHP+Memcached)
一.源码包准备 服务器端主要是安装memcache服务器端下载:http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz另外,Memca ...
- Volley设计思想和流程分析
本文是对Volley思路的整体整理,并不是Volley教程,建议有Volley使用经验,但是对Volley整体不是很清楚的同学阅读. 我认为,弄清整体的流程很重要,以避免一叶障目不见泰山的囧境,而对于 ...