zoukankan      html  css  js  c++  java
  • Windows Phone 8.1 新特性

    本篇为大家介绍 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 - 1)
            demoFlipView.SelectedIndex++;
        else
            demoFlipView.SelectedIndex = 0;
    });
    _timer.Start();

    如上的代码即可实现 FlipView 的自动切换效果,这里我们不需截图说明了。

    好了,到这里我们就把 FlipView 的基本应用介绍完了,希望对大家有帮助,谢谢。

  • 相关阅读:
    WPF 创建自定义窗体
    Entity Framework Code First for SQL Compact
    WPF QuickStart系列之样式和模板(Style and Template)
    WPF 实现 DataGrid/ListView 分页控件
    WPF ItemsControl ListBox ListView比较
    WPF 实现带标题的TextBox
    WPF ListView展示层叠信息
    上(下)三角矩阵
    正定矩阵(positive definite matrix)
    (非)奇异矩阵
  • 原文地址:https://www.cnblogs.com/shaomeng/p/3679948.html
Copyright © 2011-2022 走看看