Windows Phone 8.1新特性:控件之列表选择控件

本篇我们来介绍Windows Phone 8.1 新特性中的列表选择控件。

在Windows Phone 8 时代,大家都会使用 LongListSelector 来实现列表选择控件,对数据进行分组显示。比如通讯录中,按照名字首字母进行分组,点击分组标题后跳转到该标题对应的分组。

而Windows Phone 8.1 中会利用 ListView和 SemanticZoom 来实现,下面我们来看看实现过程。

首先我们来认识一下ListView 和 SemanticZoom:

ListView 从字面上并不难理解,一个列表视图控件,而它实际的作用也和字面表现的差不多,它是一个在一个列表中滚动显示项目的集合控件。

SemanticZoom 可能看起来有些陌生,语义缩放。它是允许用户在集合项目的两个视图之间缩放的一个容器控件。简单来说,当我们对一个联系人集合进行了按首字母分组后,我们可以通过语义缩放控件完成联系人列表和字母列表两种视图的缩放,通过选择字母来导航到该字母分组。

下面我们来看看代码实现,首先是XAML:

<SemanticZoom x:Name="semanticZoom" IsZoomOutButtonEnabled="True" CanChangeViews="True">
    <SemanticZoom.ZoomedInView>
        <ListView x:Name="listViewDetail" IsSwipeEnabled="True" IsTapEnabled="True" IsItemClickEnabled="True" IsZoomedInView="True">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <Grid Height="40">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="50" />
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>
                        <Border Background="AliceBlue" Grid.Column="0" />
                        <TextBlock Grid.Column="1" Text="{Binding ContactName}" FontSize="30" />
                    </Grid>
                </DataTemplate>
            </ListView.ItemTemplate>
            <ListView.GroupStyle>
                <GroupStyle>
                    <GroupStyle.HeaderTemplate>
                        <DataTemplate>
                            <Border Background="Blue" Height="50" Width="50" HorizontalAlignment="Left" Margin="0,20,0,20" Tapped="Border_Tapped">
                                <TextBlock Text="{Binding Title}" FontSize="30" />
                            </Border>
                        </DataTemplate>
                    </GroupStyle.HeaderTemplate>
                    <GroupStyle.Panel>
                        <ItemsPanelTemplate>
                            <VariableSizedWrapGrid Orientation="Vertical" Margin="0 0 0 20" ItemHeight="75" />
                        </ItemsPanelTemplate>
                    </GroupStyle.Panel>
                </GroupStyle>
            </ListView.GroupStyle>
            <ListView.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Vertical"  />
                </ItemsPanelTemplate>
            </ListView.ItemsPanel>
        </ListView>
    </SemanticZoom.ZoomedInView>
    <SemanticZoom.ZoomedOutView>
        <ListView x:Name="listViewSummary" Background="Black" IsZoomedInView="False">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <Border Height="70" Width="400" Background="Blue" Margin="10,10,10,10">
                        <TextBlock Text="{Binding Group.Title}" FontSize="30" />
                    </Border>
                </DataTemplate>
            </ListView.ItemTemplate>
            <ListView.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Vertical" />
                </ItemsPanelTemplate>
            </ListView.ItemsPanel>
        </ListView>
    </SemanticZoom.ZoomedOutView>
</SemanticZoom>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索windows
, 控件
, 视图
, 分组
, 语义缩放
, 字母分组
, 一个
, 字母
, 分组列表
, listview分组
按首字母排序
windowsphone、windows phone 10、windows phone官网、windows、windows 应用商店,以便于您获取更多的相关知识。

时间: 2024-08-05 03:46:05

Windows Phone 8.1新特性:控件之列表选择控件的相关文章

Windows Phone 8.1 新特性 - 控件之应用程序栏

原文:Windows Phone 8.1 新特性 - 控件之应用程序栏 2014年4月3日的微软Build 2014 大会上,Windows Phone 8.1 正式发布.相较于Windows Phone 8,不论从用户还是开发者的角度,都产生了很大的变化.接下来我们会用几篇文章来了解一下这些变化给开发者带来的影响,以及我们如何更好的利用WP8.1 的新特性. WP8.1 最大的变化就是与Windows Store App 的结合,我们把它们统称为Windows RunTime apps.WP8

AeroGear 在 Windows 10 方面的新特性

Windows 10 第一个预览版已经发布很长时间了,而且也很快发布最终版本(29 July).AeroGear 开发可以关注一下最新的一些改进,其中最大的改进是不再需要 2 个不同的二进制包,同样的代码可以在 Windows 桌面,平板和手机上运行(甚至是 Xbox).这意味着如果你想迁移你的应用,或者你有 #if状态,你需要修改他们,运行下面代码检测: using Windows.Foundation.Metadata; // you used to have #if WINDOWS_PHO

Windows Phone 8.1新特性:控件之应用程序栏

2014年4月3日的微软Build 2014 大会上,Windows Phone 8.1 正式发布.相较于Windows Phone 8,不论从用户还是开发者的角度,都产生了很大的变化.接下来我们会用几篇文章来了解一下这些变化给开发者带来的影响,以及我们如何更好的利用WP8.1 的新特性. WP8.1 最大的变化就是与Windows Store App 的结合,我们把它们统称为Windows RunTime apps.WP8.1 中的控件位于Windows.UI.XAML.Controls 命名

Windows Phone 8.1新特性之页面导航

本篇介绍一下Windows Phone 8.1 中页面导航的实现方式. 大家对Windows Phone 8 中页面导航的实现一定不陌生,我们使用 NavigationService 来实现.具体写法是这样的: NavigationService.Navigate(new Uri("XAML相对路径", UriKind.RelativeOrAbsolute)); 而在导航目标页,我们在 OnNavigatedTo 方法中通过 NavigationContext.QueryString[

Windows Phone 8.1新特性之常用的启动器

本篇为大家介绍一下 Windows Phone 8.1 中部分常用启动器的实现方式.分别是 呼叫电话.发送短信.发送邮件.添加约会到日历.启动地图.地图路线显示.地图下载 和 地图更新. 1. 呼叫电话 我们使用 PhoneCallManager 的 ShowPhoneCallUI 方法来实现呼叫电话.该方法的两个参数分别是 电话号码 和 显示名称. Windows.ApplicationModel.Calls.PhoneCallManager.ShowPhoneCallUI("10086&qu

Windows Phone 8.1新特性:将可设置单个短信对话通知静音

不久之前,微软向开发者发布了Windows Phone 8.1 SDK软件开发套装,像往常一样更多有关WP8.1系统的泄露信息就会流传到网上,所以互联网上已经有了一份Windows Phone 8.1看来颇为全面的特性更新列表.最近又有一项有关WP8.1的新特性被曝光,即是用户可将短信中的某个对话设置为静音. 这项功能算不上什么大改进,不过对很多用户来说依然非常实用.单个或群组对话都能设置信息提醒静音,这就能够免受那些用户不想理会之人的打扰,但又不必将他拉入黑名单,因为消息还是会收到,只不过不会

Windows Server 2008目录服务新特性详解

活动目录(Active Directory)是面向Windows Standard Server.Windows Enterprise Server以及 Windows Datacenter Server的目录服务.(Active Directory不能运行http://www.aliyun.com/zixun/aggregation/32995.html">在Windows Web Server上,但是可以通过它对运行Windows Web Server的计算机进行管理.)Active

silverlight控件模型之选择控件和列表控件

选择控件:checkbox控件和radiobutton控件 <StackPanel Background="White" VerticalAlignment="Center"> <CheckBox Content="中间状态" IsThreeState="True" IsChecked="" Margin="20"></CheckBox> <Ch

【动手实践】Oracle 12.2新特性:多列列表分区和外部表分区

Oracle 12.2版本中,增加了大量的分区新特性,这其中包括: 自动的列表分区创建 在线的普通表转换分区表 支持只读分区和读写分区混合 以下介绍的三个特性同样是12.2新增的: 多列列表分区.外部表分区.维护过滤 而对于多列列表分区的支持,也是大家关注已久的特性,先看一下脚本(在 livesql.oracle.com 测试执行,推荐动手实践): CREATE TABLE dba_by_db_in_yhem  (dbalic           NUMBER,    username