列表采集器ListPicker在作用上与html中的<select/>标签一样 都是提供多选一功能,区别在于ListPicker可以自定义下拉状态和非下拉状态的样式。

1.模板设置

ListPicker有两个模板属性

  • ItemTemplate 文本框显示的单个选项模板
  • FullModeItemTemplate 所有选项列表的模板

与之相关的还有一个数字类型的属性:ItemCountThreshold

如果ListPicker中的选项数量小于该属性的值的话 则显示方式是普通下拉菜单

    

但如果大于该属性值,则下拉菜单会全屏显示  如下图

回到那两个模板,ItemTemplate 针对的是ListPicker初始状态(点击前 和选中后)及处于下拉菜单状态(即非全屏状态)时每一项

FullModeItemTemplate 这针对的是全屏状态时每一项

注:如果不设定 ItemCountThreshold 则点击后始终是普通菜单而不会全屏

2.Header

ListPicker的标题 如第一个图中的default ,Cities

3.FullModeHeader

全屏状态时顶部的标题 如第三张图中的Cities-Full

4.SelectedIndex

设定或获取选定项的序号

相关代码:

XAML

        <!--定义模板资源-->
<Grid.Resources>
<DataTemplate x:Name="PickerItemTemplate">
<StackPanel Orientation="Horizontal">
<Border Background="Red" Width="34" Height="34">
<TextBlock Text="{Binding Country}" FontSize="16"
HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<TextBlock Text="{Binding Name}" Margin="12 0 0 0" />
</StackPanel>
</DataTemplate>
<DataTemplate x:Name="PickerFullModeItemTemplate">
<StackPanel Orientation="Horizontal" Margin="40 21 0 20">
<TextBlock Text="{Binding Name}" Margin="16 0 0 0" FontSize="43"
FontFamily="{StaticResource PhoneFontFamilyLight}"/>
<TextBlock Text="language: " />
<TextBlock Text="{Binding Language}" Foreground="Brown" />
</StackPanel>
</DataTemplate>
</Grid.Resources> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<!--未设定模板-->
<toolkit:ListPicker Header="Default" Margin="12,12,12,0" Grid.Row="1" x:Name="defaultPicker" />
<!--点击后全屏-->
<toolkit:ListPicker x:Name="listPickerFull"
ItemTemplate="{StaticResource PickerItemTemplate}"
FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}"
Grid.Row="0" Header="Cities-Full" Margin="12,110,12,0"
SelectedIndex="2" ItemCountThreshold="3"
FullModeHeader="Cities-Full-Header" CacheMode="BitmapCache"/>
<!--点击后非全屏-->
<toolkit:ListPicker x:Name="listPicker"
ItemTemplate="{StaticResource PickerItemTemplate}"
FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}"
Grid.Row="0" Header="Cities" Margin="12,210,12,0"
SelectedIndex="2" ItemCountThreshold="5"
FullModeHeader="Cities" CacheMode="BitmapCache"/>
</Grid>

后台代码

namespace Phone.Toolkit.Demo
{
public partial class ListPicker : PhoneApplicationPage
{
public ListPicker()
{
InitializeComponent();
List<Cities> source = new List<Cities>() {
new Cities("Madrid","US","English")
,new Cities("Las Vegas","UK","English")
,new Cities("London","UK","English")
,new Cities("Mexico","MX","Spanish")
};
this.listPicker.ItemsSource = source;
this.listPickerFull.ItemsSource = source;
this.defaultPicker.ItemsSource = new List<string>() { "Madrid", "Las Vegas", "London" };
} }
public class Cities
{
public string Name { set; get; }
public string Country { set; get; }
public string Language { set; get; }
public Cities(string name, string c, string l)
{
this.Name = name;
this.Country = c;
this.Language = l;
}
}
}

WP开发-Toolkit组件 列表采集器(ListPicker)的使用的更多相关文章

  1. javacoo/CowSwing 丑牛迷你采集器

    丑牛迷你采集器是一款基于Java Swing开发的专业的网络数据采集/信息挖掘处理软件,通过灵活的配置,可以很轻松迅速地从 网页上抓取结构化的文本.图片.文件等资源信息,可编辑筛选处理后选择发布到网站 ...

  2. 八爪鱼采集器︱加载更多、再显示20条图文教程(Xpatth、Ajax)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 由于代码布置采集器比较麻烦,又很早知道八爪鱼采 ...

  3. asp.net简述WP开发模式

    详情请参考菜鸟教程:http://www.runoob.com/aspnet/aspnet-tutorial.html 1.ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务器 ...

  4. IhyerDB modBus采集器配置.

    近期查了一下ihyerDB-modbus采集器的相关配置,由于没有相关的modbus设备,于是今天上午根据网上的线索下载了Modbus Slave(modbus从站仿真器).笔记本也没有串口,于是下载 ...

  5. Hawk 3. 网页采集器

    1.基本入门 1. 原理(建议阅读) 网页采集器的功能是获取网页中的数据(废话).通常来说,目标可能是列表(如购物车列表),或是一个页面中的固定字段(如JD某商品的价格和介绍,在页面中只有一个).因此 ...

  6. KnockoutJS 3.X API 第六章 组件(5) 高级应用组件加载器

    无论何时使用组件绑定或自定义元素注入组件,Knockout都将使用一个或多个组件装载器获取该组件的模板和视图模型. 组件加载器的任务是异步提供任何给定组件名称的模板/视图模型对. 本节目录 默认组件加 ...

  7. 火车采集器 帝国CMS7.2免登录发布模块

    帝国cms7.2增加了金刚模式,登录发布有难度.免登录发布模块配合火车采集器,完美解决你遇到的问题. 免登录直接获取栏目列表 通过文件内设置密码免登录发布数据 帝国cms7.2免登陆文章发布接口使用说 ...

  8. 【RSYSLOG】rsyslog作为日志采集器安装配置说明

    RSYSLOG is the rocket-fast system for log processing. About 由于环境基于CentOS 6.7 x64,rsyslog本身就是OS的组件,由于 ...

  9. APlayer组件自制播放器

    .NET中使用APlayer组件自制播放器 2015-02-02 09:46 by xiaozhi_5638, 402 阅读, 9 评论, 收藏, 编辑 目录 说明 APlayer介绍 APlayer ...

随机推荐

  1. Android、iOS和Windows Phone中的推送技术

    推送并不是什么新技术,这种技术在互联网时代就已经很流行了.只是随着进入移动互联网时代,推送技术显得更加重要.因为在智能手机中,推送从某种程度上,可以取代使用多年的短信,而且与短信相比,还可以向用户展示 ...

  2. 网络编程:socket--python核心编程(3),chapter 1

    最近两天把第一部分的网络编程socket好好学习了一番,收获也蛮多的... 套接字:能使运行在不同或相同计算机上运行的进行通信:套接字一种是基于文件的(同一台计算机进程间通信),另一种是基于网络的(同 ...

  3. Github教程(3)

    Pull Request Pull Request 是自己修改源代码后,请求对方仓库采纳该修改时采取的一种行为. 场景1: 用户A在fork完用户B的项目时,A修改了代码并提交了一个Pull Requ ...

  4. Sql Server来龙去脉系列之四 数据库和文件

        在讨论数据库之前我们先要明白一个问题:什么是数据库?     数据库是若干对象的集合,这些对象用来控制和维护数据.一个经典的数据库实例仅仅包含少量的数据库,但用户一般也不会在一个实例上创建太多 ...

  5. JS 函数--Date()函数

    1.JavaScript没有基本的日期数据类型,所以只能显式的创建Date对象.例如:var myDate=new Date(); 2.为了创建一个存储了特定日期的,或者时间的Date对象,可以简单的 ...

  6. 网狐6603棋牌游戏源码.rar

    网狐6603棋牌游戏源码.rar http://pan.baidu.com/s/1dFgGNq5 网络收集仅供学习,下载后请务必在24小时内删除! 以上是原vc6.0源码,下载后使用vs2015编译, ...

  7. String系列

    String 简介 String 是java中的字符串,它继承于CharSequence.String类所包含的API接口非常多.为了便于今后的使用,我对String的API进行了分类,并都给出的演示 ...

  8. 容器--ArrayList

    一.前言 作为List的重要实现之一,ArrayList已经成了我们编写程序时不可或缺的重要容器之一,面试的时候也经常会被问到,所以,深入理解其实现机制,无论是对于我们正确使用这个类来说,还是准备面试 ...

  9. 【GPU编解码】GPU硬解码---CUVID

    问题描述:项目中,需要对高清监控视频分析处理,经测试,其解码过程所占CPU资源较多,导致整个系统处理效率不高,解码成为系统的瓶颈. 解决思路: 利用GPU解码高清视频,降低解码所占用CPU资源,加速解 ...

  10. 从自签名证书导出pfx和cer证书

    完整代码: public sealed class DataCertificate { #region 生成证书 /// <summary> /// 根据指定的证书名和makecert全路 ...