十一月初,微软的silverlight toolkit for phone又放出四个新控件,这四个控件使用都要比之前的复杂,并且很有用。

一.              AutoCompleteBox:这个控件很像ajax里的输入框,可以联想词。不过需要自已生成一个词库文件,还要编写代码来加载词载。在silverlgiht toolkit sample里面已经有这个示例代码了(loremIpsum.cs,loremIpsum.txt,这里只是一个拉丁文的测试文件,所以需要自已来实现字库文件)。

<phone:PhoneApplicationPage.Resources>//把字库以资源方式载入

<data:LoremIpsum x:Key=”words”/>

</phone:PhoneApplicationPage.Resources>

<toolkit:AutoCompleteBox HorizontalAlignment=”Left” Margin=”82,32,0,0″ Name=”autoCompleteBox1″ VerticalAlignment=”Top” Width=”291″ Height=”72″ ItemsSource=”{StaticResource words}” />

另外还可以产生一个两行的联想串。不过需要自已编程并binding.

二. NavigationTransition:这个控件用来实现页面的切换效果。

在正式版中,页面间的切换没有动画效果,很多朋友也都问过我怎么实现,以前的方法可以通过VisualStateManager对Grid施加动画效果来模拟,但是对VisualStateManager或blend工具不熟悉的人来说还是挺难的。不过现在好了,出来这么一个控件,只要加载到页面,简单设置一下就可以出现多种页面动画效果,非常好用。

1.首先在xaml中加入toolkit 声明:xmlns:toolkit=”clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit”

2.在xaml中手工加入这个控件:

<toolkit:TransitionService.NavigationInTransition>//进入页面动画效果

<toolkit:NavigationInTransition>

<toolkit:NavigationInTransition.Backward>

<toolkit:RotateTransition Mode=”In180Clockwise”/>//这是一个旋转的动画效果

</toolkit:NavigationInTransition.Backward>

<toolkit:NavigationInTransition.Forward>

<toolkit:RotateTransition Mode=”In180Clockwise”/>

</toolkit:NavigationInTransition.Forward>

</toolkit:NavigationInTransition>

</toolkit:TransitionService.NavigationInTransition>

<toolkit:TransitionService.NavigationOutTransition>//退出页面动画效果

<toolkit:NavigationOutTransition>

<toolkit:NavigationOutTransition.Backward>

<toolkit:RotateTransition Mode=”Out180Clockwise”/>

</toolkit:NavigationOutTransition.Backward>

<toolkit:NavigationOutTransition.Forward>

<toolkit:RotateTransition Mode=”Out180Clockwise”/>

</toolkit:NavigationOutTransition.Forward>

</toolkit:NavigationOutTransition>

</toolkit:TransitionService.NavigationOutTransition>

对于这个控件共有五种动画效果,以及每种动画都有多种模式的设置:RollTransition(这个没有模式设置)、RotateTransition、SlideTransition、SwivelTransition、TurnstileTransition

另外,进入和退出页面的动画效果是可以设置为不同的效果的。

3.最重要的修改:

将App.xaml.cs中InitializePhoneApplication()函数里的RootFrame进行修改,如果不改的话,是没有动画效果的。

//RootFrame = new PhoneApplicationFrame();

RootFrame = new TransitionFrame();

三. ListPicker:当点中这个控件时,会弹出一个列表来,这个列表有两种,一种是简单的像下拉列表框那样的,还有一种是Full Mode的,会弹出一个完整页面的列表来。

1. 简单列表:

<toolkit:ListPicker Height=”220″ HorizontalAlignment=”Left” Margin=”12,381,0,0″  Name=”listPicker1″ VerticalAlignment=”Top” Width=”438″ Header=”Test1″  SelectionChanged=”listPicker1_SelectionChanged”>

<sys:String>Red</sys:String>//可以为列表只加入几个字符串

<sys:String>Green</sys:String>

<sys:String>Blue</sys:String>

</toolkit:ListPicker>

SelectionChanged:用来响应列表选中的项。

1. Full Mode:

<toolkit:ListPicker ItemsSource=”{Binding}” Height=”88″ HorizontalAlignment=”Left” Margin=”6,513,0,0″ Name=”listPicker2″ VerticalAlignment=”Top” Width=”444″ Header=”Test2″ FullModeHeader=”Colors” >

<toolkit:ListPicker.ItemTemplate>

<DataTemplate>//设置在显示框中的显示样式

<StackPanel Orientation=”Horizontal”>

<Rectangle Fill=”{Binding}” Width=”24″ Height=”24″/>

<TextBlock Text=”{Binding}” Margin=”12 0 0 0″/>

</StackPanel>

</DataTemplate>

</toolkit:ListPicker.ItemTemplate>

</toolkit:ListPicker>

FullModeHeader:给Full Mode列表加标题名

ItemsSource:绑定要显示在列表中的内容

绑定显示内容的方法有两种:

a. ItemsSource=”{Binding}”//在xaml中绑定,这时一定要把要绑定的列表传给系统的 DataContext = AccentColors;

b. listPicker2.ItemsSource = AccentColors;//动态绑定列表项

也可以对列表项的样式进行设置:

<toolkit:ListPicker.FullModeItemTemplate>

<DataTemplate>

<StackPanel Orientation=”Horizontal” Margin=”16 21 0 20″>

<Rectangle Fill=”{Binding}” Width=”50″ Height=”50″/>

<TextBlock Text=”{Binding}” Margin=”12 10 0 0″/>

</StackPanel>

</DataTemplate>

</toolkit:ListPicker.FullModeItemTemplate>

四. LongListSelector:这个控件是一个归类列表,并且可以快速选择按类选择。这个控件最主要的是要把需要的数据进行绑定和分类,在sample中有一个People的例子(PeopleByFirstName.cs、PeopleInGroup.cs、Person.cs这几个文件可以看出如何实现)

<toolkit:LongListSelector HorizontalAlignment=”Left” Margin=”12,162,0,0″ Name=”longListSelector1″ VerticalAlignment=”Top” Height=”213″ Width=”438″ ItemsSource=”{StaticResource people}”>//绑定ItemsSource, people是通过编程得到的资源

<toolkit:LongListSelector.GroupItemsPanel>//设置以什么样的方式显示分类列表,如果没有这个设置,分类列表以直列显示

<toolkit:LongListSelector.GroupItemTemplate>//分类列表内的item显示内容和方式

<toolkit:LongListSelector.GroupHeaderTemplate>//设置列表分类的头的显示内容和方式

<toolkit:LongListSelector.ItemTemplate>//设置列表里的内容的显示方式

示例代码:http://www.52winphone.com/bbs/viewthread.php?tid=30&extra=page%3D1 testnewcontrols

原文链接:http://www.52winphone.com/201102-823

转载于:https://www.cnblogs.com/ouyating/archive/2012/04/03/2431060.html

.Toolkit 增补相关推荐

  1. 整理Windows Phone 7教程(很全面)

    前言 离Windows Phone 7正式发布已过去几个月了,但国内关于Windows Phone 7的中文书籍资料太少了,大多数是英文资料,一本真正的中文开发教程书都没有, 要啃英文资料对大部分的开 ...

  2. Windows Phone 中文文章教程目录

    目录1(排名不分先后) 1 <Windows Phone 7 开发 31 日谈> 金山崟霸,张崟 (博客) 2 <Windows Phone 7 开发探索笔记> 金山崟霸,张崟 ...

  3. Coolite Toolkit学习笔记五:常用控件Menu和MenuPanel

    Coolite Toolkit里的Menu控件和其他的.NET Web控件不一样,如果只是设计好了Menu或是通过程序初始化菜单项,菜单是不会呈现在界面上的,因为Coolite Toolkit规定Me ...

  4. 使用Pixel Bender Toolkit制作特效——多像素采样(Part 4)

    要求 用户级别 初级 必需产品 Flash Player 10 Flash Professional CS4 (下载试用版) 范例文件 pixel_bender_04.zip (5 KB) 其他要求 ...

  5. 从特急到难产 光伏增补项目抢不抢630?

    2016年12月22日晚,国家能源局以特急形式发布国能新能[2016]383号<关于调整2016年光伏发电建设规模有关问题的通知>,要求每个省(自治区.直辖市)追加规模最多不超过100万k ...

  6. Microsoft Surface Toolkit Beta 版发布

    目前微软发布的这款Microsoft Surface Toolkit 仍是Beta 版.其中包括一些列控件(Control).API.模板(Template)以及程序样例和文档供开发者使用.只要具备. ...

  7. Coolite Toolkit学习笔记六:常用控件Accordion、ToolBar、ToolTip

    一.Accordion控件      Accordion的功能非常适用,使用很简单,轻轻松松的就可以构建一个可折叠的界面展示应用效果.相信大多数做ASP.NET开发的朋友都使用过ASP.NET AJA ...

  8. 关于VS2012如何安装Windows Phone Toolkit

    最近也是碰到很多问题,在编程的时候.这个问题是我遇到的比较棘手的一个,问了一堆人都说得很是模糊,最后还是琢磨出来了,深感欣慰.写下来以防以后忘记了怎么操作的,也期望能帮助到遇到同样问题的你. 首先让我 ...

  9. Xtreme.Toolkit.Pro编译简单教程

    前面介绍了Codejock.Xtreme.Toolkit.Pro,下面介绍一下它的安装和编译. 1.先下载Codejock.Xtreme.Toolkit.Pro 2.安装:一路"下一步&qu ...

最新文章

  1. SharePonit 2010 更改另存为列表模板的语言类型
  2. 简单介绍ASP中Cache技术的应用
  3. 论“前置测试模型”-1 概念篇
  4. class-感知机Perception
  5. twisted系列教程八–延迟的诗
  6. 图片连续向左向右向下向上滚动和左右运动、指向停止js代码
  7. 作业中会遇到【不能实现】部分。这时,正确的处理的方法~
  8. [Effective JavaScript 笔记] 第7条:视字符串为16位的代码单元序列
  9. PO系列之 使用XPI_INSPECTOR跟踪PO报错
  10. 华为路由器远程登陆之ssh
  11. 计算机主机进水无法启动,电脑主机进水会有什么影响!
  12. 初始化NC用友的表结构数据文件
  13. web.xml学习随笔
  14. 在vscode中打开.md文件
  15. 几种常见的长连接实现方案
  16. SpringBoot配置多数据库的数据源
  17. bzoj1455罗马游戏*
  18. 较详细的MongDB工具类
  19. 叮当叮当的优势在那里
  20. centos6关闭防火墙

热门文章

  1. Poj 2186 Popular Cows(Tarjan 强连通缩点)
  2. JAVA中的集合与排序
  3. 基于Mysql主从同步的读写分离
  4. Silverlight与Flex的比较选择
  5. 巧妙共享Win7/Vista/XP文件夹权限
  6. Java的赋值与初始化
  7. Python入门教程:很多人推荐学 Python 入 IT ,如果学完 Python 找不到工作怎么办...
  8. 阿里从来不只属于马云,但马云会永远属于阿里
  9. centos的nginx支持ssl
  10. 使用rsync实现数据实时同步备份--实战