WinJS ListView控件详解

您有数据, 很多数据。 您需要以如下方式呈现这些数据,即用户可以毫不费 力地在应用程序中访问和理解数据。 应用程序以新闻文章、配方、赛事比分、财 务图表等形式公开其数据,所有数据都呈现在屏幕上大小不同的区域中,尽量吸 引使用者的注意。 由于小型到中型数据网格便于人们使用、搜索和筛选,现在市 场上众多应用程序大都以较为合理的网格或列表格式呈现数据。 无论是企业应用 程序、个人应用程序还是其他应用程序,网格都是支撑数据快速浏览的基本框架 。

在 Windows 应用商店的应用中,通过使用 ListView 控件可以设置这种数据 呈现结构。 如果您是开发 Windows 应用商店的应用的新手,可以阅读我 2013 年 2 月的文章“使用 HTML5 和 JavaScript 创建 Windows 应用商店的应 用”(msdn.microsoft.com/magazine/jj891058) 和我 2013 年 7 月的文章 “精通用 JavaScript 构建的 Windows 应用商店应用中的控件和设置 ”(msdn.microsoft.com/magazine/dn296546),了解相关信息。
ListView 控件基础知识

HTML 和 XAML 中都提供了 ListView 控件,该控件以网格或列表格式呈现数 据。 在 Windows JavaScript 库 (WinJS) 应用程序(本文的重点)中,通过将 主机 <div> 元素上的 data-win-control 属性设置为 “WinJS.UI.ListView”,可以使用 ListView 控件,如下所示:

<div id="listView" data-win-control= "WinJS.UI.ListView"></div>

承载 ListView 的 <div> 不包含任何子元素。 不过,它在一个名为 data-win-options 的属性中包含基本配置信息。 通过 data-win-options,可以 使用声明性语法在 HTML 页面中设置 ListView 控件的任何属性。 要正确使用 ListView,需要向它应用以下特征:

ListView 的组和项模板。

ListView 的组和项数据源。

ListView 是使 用网格还是使用列表布局(默认为网格)。

此外,还应指定 ListView 的项选择模式是单个还是多个(默认为多个)。 在 data-win-options 属性中设置了布局和 selectionMode 属性的基本 ListView 如下所示:

<div id="listView" data-win-control= "WinJS.UI.ListView" data-win-options=

 "{ selectionMode: 'single', layout : {type: WinJS.UI.GridLayout} }" ></div>

尽管上面的代码定义了一个 ListView,但是该 ListView 光靠自身是无法工 作的。 它需要借助于 WinJS.Binding.List 对象。 List 对象将填充有对象的数 组绑定到项和组模板中定义的 HTML 元素。 这意味着 List 对象定义要显示的数 据,模板定义数据的显示方式。
创建 ListView 模板

为 ListView 设置 <div> 后,接下来可以为其创建模板。 ListView 依赖于 HTML 模板来显示用户可读的数据。 幸运的是,Grid、Split 和 Hub (Windows 8.1 中提供了 Hub)Windows 应用商店应用程序模板包含以网格或列 表格式呈现数据所需的一切,包括示例数据、预定义 ListView 控件和预定义 CSS 类。 您可以修改这些模板,也可以根据需要创建自己的模板。 但是请注意 ,如果您创建自己的模板,应遵循新型 UI 设计原则,按 bit.ly/IkosnL 的 Windows 应用商店的应用开发中心所述实现 Windows 8 轮廓。 在您使用内置 Visual Studio 模板时,这一工作已为您完成。

ListView 需要一个项模板,如果要对数据分组,则还需要一个页眉模板。 项 和组模板的父元素是 data-win-control 属性已设置为 “WinJS.Binding.Template”的简单 <div> 元素。

页眉模板应包含每个组的链接,用户单击这些链接,则会转到列出属于该组的 项的页面。 下面是十分常见的母版/详细信息导航模式的示例。 在图 1 中,分 类为“headertemplate”的 <div> 包含一个与该组的键绑定的 <button> 元素。 当用户点击或单击该按钮时,会转到一个显示该组成员 的页面。

图 1 ListView 控件的页眉和项模板

         <div class="headertemplate" data-win-

control="WinJS.Binding.Template">
  <button class="group-header win-type-x-large win-type-

interactive"
     data-win-bind="groupKey: key"
     onclick
="Application.
          navigator.pageControl
    .
          navigateToGroup(event.srcElement.groupKey)"   

     role="link" tabindex="-1"
     type="button">
    <span class="group-title win-type-ellipsis" data-win-

bind=
      "textContent: title"></span>
    <span class="group-chevron"></span>
  </button>
</div>
<div class="itemtemplate" data-win-

control="WinJS.Binding.Template">
  <div class="item">
    <img class="item-image" src="#" data-win-

bind=
      "src: backgroundImage; alt: title" />
      <div class="item-overlay">
        <h4 class="item-title" data-win-

bind="textContent: title"></h4>
        <h6 class="item-subtitle win-type-ellipsis" data-

win-bind=
          "textContent: subtitle"></h6>
      </div>
  </div>
</div>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索listview
, 数据
, 应用
, 控件
, 网格
, 模板
, listview中数据的获取
, listview布局设置
, 移动listview数据
, listview控件
, listview数据下载
, listview上拉加载
, listview分组
上拉加载ListView
expandlistview详解、android listview详解、listview用法详解、listview详解、listview使用详解,以便于您获取更多的相关知识。

时间: 2024-11-03 09:59:30

WinJS ListView控件详解的相关文章

转:ASP.NET验证控件详解

asp.net|控件|详解 ASP.NET验证控件详解 ASP.NET是微软推出的下一代WEB开发工具,其强大的功能立即吸引了一大批WEB开发者投入它的靡下.现在,我们来看看ASP.NET的验证控件,感受ASP.NET的强大功能同时方便我们现在的WEB开发. WEB开发者特别是ASP开发者,一直对数据验证比较恼火,当你好不容易写出数据提交程序的主体以后,还不得不花大把时间去验证用户的每一个输入是否合法.如果开发者熟悉JavaScript或者VBScript,可以用这些脚本语言轻松实现验证,但是又

iOS开发之UIScrollView控件详解_IOS

一.UIScrollView控件是什么?     (1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限     (2)当展⽰示的内容较多,超出⼀一个屏幕时,⽤用户可通过滚动⼿手势来查看屏幕以外的内容     (3)普通的UIView不具备滚动功能,不能显⽰示过多的内容     (4)UIScrollView是一个能够滚动的视图控件,可以⽤用来展⽰示⼤大量的内容,并且可以通过滚 动查看所有的内容     (5)  举例:手机上的"设置".其他⽰示例程序 二

Android ToolBar控件详解及实例

ToolBar控件详解 在Activity中添加ToolBar 1.添加库 dependencies { ... compile "com.android.support:appcompat-v7:18.0.+" } 2.Activity要继承AppCompatActivity 3.设置主题 使用ToolBar,要将系统默认的ActionBar隐藏掉 <application android:theme="@style/Theme.AppCompat.Light.NoA

Android Tab 控件详解及实例

Android Tab 控件详解及实例 在桌面应用中Tab控件使用得非常普遍,那么我们经常在Android中也见到以Tab进行布局的客户端.那么Android中的Tab是如何使用的呢? 1.Activity package com.wicresoft.activity; import com.wicresoft.myandroid.R; import android.app.TabActivity; import android.os.Bundle; import android.util.Lo

Android UI组件----ListView列表控件详解

[正文] 内容简介: • 1.基本的XML配置 • 2.ListActivity • 3.单选和多选模式 • 4.ListView实现图文列表 • 5.ListView刷新分页   一.基本的 XML配置: android:cacheColorHint="#00000000"  //设置拖动背景色为透明 android:dividerHeight="30px"  //listview item之间的高度(即分格条的高度) android:divider="

Android实现自定义轮播图片控件详解_Android

首先上效果图 实现原理 要完成一个轮播图片,首先想到的应该是使用ViewPager来实现.ViewPager已经有了滑动的功能,我们只要让它自己滚动.再加上下方的小圆点就行了.所以我们本次的自定义控件就是由ViewPager和LinearLayout叠加起来组成的. 一.创建一个自定义的ViewPager 先上完整的代码 package com.kcode.autoscrollviewpager.view; import android.content.Context; import andro

微信小程序 input输入框控件详解及实例(多种示例)_JavaScript

微信小程序 input输入框控件 今天主要详写一下微信小程序中的Input输入框控件,输入框在程序中是最常见的,登录,注册,获取搜索框中的内容等等都需要,同时,还需要设置不同样式的输入框,今天的代码中都要相应的使用. 首先主页面中将登录的样式进行了简单展示和使用, 代码如下: <!--index.wxml--> <!--如果在同一个form表单中创建了多个input输入框,可以给给每个输入框,创建自己的 name="userName"属性,可以区别哪个输入框,并通过添

一起谈.NET技术,ASP.NET MVC 2中使用jQuery UI控件详解

问:我想给我的ASP.NET MVC输入表单添加一个日期选择控件,但模型-视图-控制器(MVC)并没有提供这样的辅助方法,我该如何添加控件? 答:和ASP.NET Web表单不一样,MVC架构没有提供可以在设计面板中拖放的有状态的服务端控件,相反,MVC鼓励使用简单的HTML布局元素和基于数据的标签作为页面布局的要素,功能和最终的布局用客户端JavaScript和CSS样式表控制. MVC提供了一套基于HtmlHelper的扩展方法渲染大部分HTML标签,对于更复杂的功能,你需要自己编写HTML

ASP.NET MVC 2中使用jQuery UI控件详解

问:我想给我的ASP.NET MVC输入表单添加一个日期选择控件,但模型-视图-控制器(MVC)并没有提供这样的辅助方法,我该如何添加控件? 答:和ASP.NET Web表单不一样,MVC架构没有提供可以在设计面板中拖放的有状态的服务端控件,相反,MVC鼓励使用简单的HTML布局元素和基于数据的标签作为页面布局的要素,功能和最终的布局用客户端JavaScript和CSS样式表控制. MVC提供了一套基于HtmlHelper的扩展方法渲染大部分HTML标签,对于更复杂的功能,你需要自己编写HTML