MSDN webcast《Silverlight for Windows Phone开发》系列视频第二季

课程简介

作为第一季度的延续,这一季度讲述一些Windows Phone中文社区讨论相对较少的进阶话题,例如应用程序的生命周期,启动器与选择器,推送通知服务,Panorama与Pivot控件,地理位置服务与 反应性扩展框架,Bing Maps Silverlight控件以及Windows Phone Marketplace,一共16个教程,超过20小时的内容。

 

制作感想

前前后后使用了3个多月的时间制作,终于在圣诞假期全部完成了16个视频的制作了,还是百感交集呀,就如老徐聊天一样,算是一个经历吧,很多事情没做过不知道以为很简单,做的时候遇到很多很多不同的困难,做完觉得也就那样了,认知过程随着实践而深化与改变。开始的时候只是答应做5个视频,主要是讲述如何一步步做一个网络收音机的应用程序。可见林永坚(Jake Lin)的Silverlight for Windows Phone 7开发系列文章 – From zero to hero。后来做的时候做了很大的改进,制作出一套比较完整的Silverlight for Windows Phone开发系列教程。 如人饮水,冷暖自知。

 

前期制作还是遇到很多很多困难,例如说普通话很拗口,因为平常只说广东话和英语,基本不说普通话,到后来好像发梦的时候都说普通话了,当然现在的普通话也不 好,只是能达到不至于使听众误解的程度。此次,对录制软件不熟悉,有时候遇到录完噪音很大,自动加上不想要的背景音乐,没有声音,图像停止等等各式各样的 问题。同时对讲课时长把握不好,很多时候想尽量的多讲知识点,严重超时等等。

 

第一个视 频好像是9月底录制的,大家是看不到了,因为现在上传的第一个视频至少重复录过5次以上,具体多少次我也忘记了,我记得有时候录完,有图没声音(杯具了),只能重录了,因为配音比重录还难。记得录制第一个视频的时候,连说句普通话都非常的拗口,这个微软的孙志磊应该知道,他负责除视频的录制以外所有的 工作,这里要感谢他,不是他我也没有机会在MSDN上制作这一系列的视频。

 

假如您读到这里感觉看到我在诉苦,呵呵,确实是,但是,但是制作这个视频,令我学习了很多很多,这才是重点,我从CTP版本就开始关注Windows Phone的开发,陆陆续续的学习,也做过一些程序出来,例如网络收音机程序,也算一个完整功能的程序了,可见林永坚(Jake Lin)的Silverlight for Windows Phone 7开发系列文章 – From zero to hero

 

但是如果说,我系统的学习Windows Phone是从制作这个视频开始的,没错,我自己也是一边学一边做的,但是我敢保证,绝对不是马虎之作。视频制作过程中,我大量的参考了Windows Phone 7 Jump Start里 面的视频,每个视频都听过10遍以上,学习课程的整体把握与讲课技巧,从一开始有些听不懂,到后来所有笑话都能笑出来。我不敢保证我的视频比他们的好,但是我敢说不比他们的差(因为站在巨人肩膀上),因为我制作的时候更加考虑听众的水平,而且每个例子都进行简化,尽量的保证一个视频能完整的演示出讲述的知识点。同时还考虑文化差异,编出多个小故事帮助中文背景的听众去理解知识点。在Jump Start视频中,他们假设听众的水平相对比较高,演示的过程中很多时候使用了Windows Phone 7 开发人员训练包里面的例子,跳跃性比较大,例子相对复杂很多。我想是面向听众的水平不一样,制作的方法也不一样。

我大量的参考了Jump Start,但是绝对不是简单山寨Jump Start,因为制作过程中,我不但参考Jump Start,而且基本上把Mix,TechEd和PDC上所有Windows Phone相关的视频都听过一遍以上,同时参考了很多MSDN的文章与博客,如果有不懂的时候,我也与微软的相关人员进行沟通,把Jump Start没有讲述到的内容补充进去,例如Push Notification有15个应用程序的限制等等,那些都是我在制作过程中英文社区在热烈讨论的话题。反正我把非NDA的内容都尽量的整理出来,尽力 保证课程的完整性与实时性。

 

通过制作完这个系列的视频,我觉得自己已经比较完整了掌握了Windows Phone的框架,虽然对细节部分需要在项目中不断的熟悉,但是对框架的把握已经没有问题了,很自信的能做出各种Windows Phone的项目。假如有相关的需求,我很快就知道在Windows Phone是怎么实现,使用到那些特性的功能,例如Push Notification,Launcher与Chooser。注意那些地方,例如生命周期的处理等等。有那些限制性,需要怎么处理等。这就是我制作这个 系列课程的最大的得着,算是比较完整的掌握了Silverlight for Windows Phone开发框架的概况。

 

上 期课程上传了一个月的时间,据我了解,已经有不少朋友加入进来一起学习Windows Phone开发,具体多少人我不是很清楚,因为这些课程都是在MSDN上免费下载的。但是从效果上来看还是不错的,这个课程上传以后,已经有多家出版社联 系我,希望把课程内容整理成书出版。最近也加入了微软的Windows Phone讲师人才库,我制作的视频覆盖了绝大部分官方的课程内容,连课程顺序也基本相同。因此,该系列课程比较完整的覆盖了Silverlight for Windows Phone各个方面。

 

当然如果需要补充还有些内容可以讲述的,例如制作 广告App,国际化与本地化。第三方类库的使用,例如Silverlight for Windows Phone Toolkit,Silverlight Media Framework等等。与云端的通信编程。本地数据库支持。单元测试。性能调优等等。但是这些近期都不会制作了。近期要做一件更加ambitious的 工作,翻译《Programming Windows Phone 7》.

 

课程分节介绍

Silverlight for Window Phone 开发系列(10)-应用程序生命周期

本 节课讲述Windows Phone应用程序的生命周期,开始讲述Windows Phone的生命周期设计的原因与作用,然后分别讲述了一般生命周期与墓碑机制(Tombstone)生命周期,同时讲述了Windows Phone的墓碑机制,最后通过例子详细的解析了生命周期中涉及到的事件,以及这些事件的处理方法与注意事项。

推荐看点

Windows Phone其实不是单任务系统

image

要领会什么叫做Tombstone,让我们一起来看上帝怎么玩Windows Phone

image 

一图搞定所有Windows Phone生命周期的流程

image

Silverlight for Window Phone 开发系列(11)-启动器与选择器

本节课讲述Windows Phone的启动器与选择器,分别讲述了各种启动器与选择器的使用方法,找出他们的共同规律。然后详细的讲述启动器与选择器的生命周期,分成四大类来讲述不同类型的启动器与选择器生命周期的差异性,从而知道我们使用过程中需要注意的事项。

推荐看点

中国北斗星导航卫星发射过程
image

其实我们经常使用选择器

image

所有启动器使用的规律

image

所有选择器使用的规律

image

学习启动器和选择器最容易被人忽视最关键的地方是生命周期

image

Silverlight for Window Phone 开发系列(12)-推送通知服务

本 节课讲述Windows Phone的推送通知服务,开始讲述为什么使用推送通知服务,推送通知服务的原理以及使用规范,然后通过例子详细了讲述Raw Notification,Toast Notification以及Tile Notification在云服务端与手机端的实现。最后讲述如何定时更新Tile。

推荐看点
消息推送全过程,重点推荐凤姐与大导演史提芬·史匹堡不得不说的故事,影帝诚意跑龙套特别版image

写代码就像煮牛肉

image

 

吐司(Toast)是怎么做的

image

漂亮的Tile

image

Silverlight for Window Phone 开发系列(13)-Panorama与Pivot控件

本 节课讲述Windows Phone的新型控件Panorama与Pivot控件,分别讲述Panorama与Pivot控件的特点,以及如何使用他们做出符合Metro UI方案的应用程序。然后讲述他们之间的区别,在现实开发中如何进行选择。最后讲述使用这两个控件的注意事项。

推荐看点
其实Pano与Pivot就像魅力香港与神秘西藏

 image

Panorama的使用好简单

image

Pivot的使用也简单

image

Pano与Pivot的使用其实都很简单,关键是考虑如何使用,彼此之间的区别

image 

我的建议,使用之前考虑一下魅力香港与神秘西藏

   

Silverlight for Window Phone 开发系列(14)-地理位置服务与反应性扩展框架

本节课讲述地理位置服务与反应性扩展框架,开始讲述地理位置服务简介以及GPS,Wi-Fi和移动基站等位置服务数据源的异同。然后通过例子讲述如何使用地理位置服务。接着讲述反应性扩展框架简介,最后通过例子使用反应性扩展框架模拟地理位置服务。

推荐看点

多种定位方法大pk

image 

image

模拟器也能玩Location Service,RE就是面包工厂。

image
   

Silverlight for Window Phone 开发系列(15)-Bing Maps控件

本 节课讲述Windows Phone上的Bing Maps Silverlight控件。开始讲述Bing Maps账户与key的申请。然后讲述Bing Maps控件的使用,例如地图缩放,地图显示模式,Pushpin的使用等。最后讲述如何使用Bing Maps SOAP服务计算路径,并把路径呈现到Bing Maps控件上。

推荐看点
杯具,回老家进门先得买门票

image

原来我和奥巴马是邻居,我的梦想就是吃顿饭那么简单,奥巴马也用Windows Phone

image

大家都能做导航程序

image 

   

Silverlight for Window Phone 开发系列(16)-在Marketplace上销售应用

本 节课讲述如何在Windows Phone Marketplace上销售应用。开始讲述Marketplace账户的注册的步骤以及注意事项。然后讲述如何上传应用程序到Marketplace以 及上传前的一些准备工作,例如混淆代码,检查应用可用能力列表等。最后讲述如何把销售的收入兑现。

 

推荐看点
王百万在Windows Phone Market上卖应用赚美刀,张麻子和师爷助阵image 

一图胜千言  

image

混淆器免费用了

image

 

课程下载

课程的官方下载网址在中文MSDN webcast的网站上,请打开下面网址。

image

Silverlight for Windows Phone 开发系列课程

PPT和源代码下载,请注册到相应课程中,或者使用iReaper进行批量下载。

image

 

课程列表

 

 

课程名称

讲师姓名

视频下载

Silverlight for Windows Phone 开发系列课程(1):Windows Phone平台概况

林永坚

clip_image001

Silverlight for Windows Phone 开发系列课程(2):Windows Phone开发环境搭建

林永坚

clip_image001[1]

Silverlight for Windows Phone 开发系列课程(3):第一个Silverlight程序

林永坚

clip_image001[2]

Silverlight for Windows Phone 开发系列课程(4):主题样式与数据绑定

林永坚

clip_image001[3]

Silverlight for Windows Phone 开发系列课程(5):页面导航

林永坚

clip_image001[4]

Silverlight for Windows Phone 开发系列课程(6):应用程序栏

林永坚

clip_image001[5]

Silverlight for Windows Phone 开发系列课程(7):屏幕方向与常用控件

林永坚

clip_image001[6]

Silverlight for Windows Phone 开发系列课程(8):隔离存储空间

林永坚

clip_image001[7]

Silverlight for Windows Phone 开发系列课程(9):在Windows Phone设备上进行调试

林永坚

clip_image001[8]

Silverlight for Windows Phone 开发系列课程(10):应用程序生命周期

林永坚

clip_image001[9]

Silverlight for Windows Phone 开发系列课程(11):启动器与选择器

林永坚

clip_image001[10]

Silverlight for Windows Phone 开发系列课程(12):推送通知服务

林永坚

clip_image001[11]

Silverlight for Windows Phone 开发系列课程(13):Panorama与Pivot控件

林永坚

clip_image001[12]

Silverlight for Windows Phone 开发系列课程(14):地理位置服务与反应性扩展框架

林永坚

clip_image001[13]

Silverlight for Windows Phone 开发系列课程(15):Bing Maps控件

林永坚

clip_image001[14]

Silverlight for Windows Phone 开发系列课程(16):在Marketplace上销售应用

林永坚

clip_image001[15]

 

 

关于第一季,请看 MSDN webcast《Silverlight for Windows Phone开发》系列视频,到底有没有第三季,我自己也不知道,后会有期。

 

作者:Jake LinJake's Blog on 博客园
出处:http://procoder.cnblogs.com

作品Jake Lin创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言
posted @ 2011-01-11 11:16 Jake Lin 阅读(4532) 评论(116) 编辑 收藏

评论共2页: 上一页 1 2 
 回复 引用 查看   
#17楼[楼主] 2011-01-11 12:45 Jake Lin      
@徐培华
谢谢关注,心存感恩之心是一种美德,希望以后能帮到你。

 回复 引用 查看   
#18楼[楼主] 2011-01-11 12:49 Jake Lin      
引用chenkai:
@彦斌
其实你要知道.在WP7手机中功能出现逐渐以应用为基础了.
可能出现情况是多个应用采用不同数据库. 那么应用之间数据库之间交互没人来做. 所以应用之间数据无法共享 也说明对于一个独立应用而言数据库意义在一定程度上市有限的.

我赞成一部分,由于Windows Phone作为云端的face,所以云是非常重要的存储手段,但是本地db我认为还是有用的,例如快速查找,快速更新配置数据等等。使用本地xml或多或少还有点缺点。但是所有方案最终还是看要实现怎样的需求了。

 回复 引用 查看   
#19楼[楼主] 2011-01-11 12:51 Jake Lin      
@金山崟霸
@风遥
不小心变成诉苦贴了,其实我没这个意思呢,呵呵,是一种经历吧,做完觉得这个过程还是有进步的。

 回复 引用 查看   
#20楼[楼主] 2011-01-11 12:52 Jake Lin      
引用Terry_龙:一开始学就看着JAKE的视频来学,自己也参考着MSDN中文文档一步一步来学。加上有点Android 移动开发的小基础,算是能够学会和理解。要多谢JAKE的辛苦制作呢。

我喜欢你的对比文章,有时候使用手机看,不方便回复,等我拿到Windows Phone,写个博客园浏览工具,包含中文输入的,呵呵。

 回复 引用 查看   
#21楼 2011-01-11 13:22 mibb      
支持
 回复 引用 查看   
#22楼 2011-01-11 13:44 世外涛缘      
Jake辛苦了啊,支持。
 回复 引用 查看   
#23楼 2011-01-11 14:25 chenkai      
@Jake Lin
其实最近在看SQl Auze视频时 让我感觉将来MS动作将来会在一个大的云平台下.把WP7给整合进来作为一个FAce面向用户. 那么对于WP7上数据处理也即将走向是云端存储.
但我也并没有否认独立数据库在WP7应用中也有很多适用场景不可替代的地位.

jacklin的广东味普通话 我听着有些不习惯啊.....

 回复 引用 查看   
#24楼 2011-01-11 14:57 小镇      
恭喜!恭喜!全部课程录制完成!!
 回复 引用 查看   
#25楼[楼主] 2011-01-11 16:31 Jake Lin      
@mibb
谢谢!

 回复 引用 查看   
#26楼[楼主] 2011-01-11 16:31 Jake Lin      
@世外涛缘
谢谢呀,下面就是一起奋斗了。

 回复 引用 查看   
#27楼[楼主] 2011-01-11 16:36 Jake Lin      
引用chenkai:
@Jake Lin
其实最近在看SQl Auze视频时 让我感觉将来MS动作将来会在一个大的云平台下.把WP7给整合进来作为一个FAce面向用户. 那么对于WP7上数据处理也即将走向是云端存储.
但我也并没有否认独立数据库在WP7应用中也有很多适用场景不可替代的地位.

jacklin的广东味普通话 我听着有些不习惯啊.....

是我表错情了,你就不能让我开心下吗?呵呵。关于azure我暂时不会用,主要是billing问题,做Windows Phone应用,如果要交费使用azure不怎么合算。看看以后怎样吧。

 回复 引用 查看   
#28楼[楼主] 2011-01-11 16:36 Jake Lin      
@小镇
谢谢呀,同喜同喜。

 回复 引用 查看   
#29楼 2011-01-11 16:38 chenkai      
@Jake Lin
:)

 回复 引用 查看   
#30楼 2011-01-11 17:17 Frank Xu Lei      
路过支持~
 回复 引用 查看   
#31楼 2011-01-11 17:33 彦斌      
引用chenkai:
引用Jake Lin:
感谢二位的回复。
我喜欢能有本地数据库,是因为当我的数据量较大时,而且会常在做些离线的操作,那么就会尽量使用本地数据库。而不是实时的与云或其它数据库作交换动作。

关于10秒钟原则,我总感觉在当前的网络条件下会不够用,特别是没有初始db的情况下。会更不够用?



 回复 引用 查看   
#32楼[楼主] 2011-01-11 17:37 Jake Lin      
@彦斌
是呀,我也在考虑用数据库,特别是xml层次很多的值,不方便更新。

 回复 引用 查看   
#33楼 2011-01-11 21:45 hhshuai      
楼主的这个视频有点大啊,webcast上的食品都是10M左右,而这些视频都将近200M了,下载不了啊。
 回复 引用 查看   
#34楼 2011-01-11 21:48 彦斌      
引用hhshuai:楼主的这个视频有点大啊,webcast上的食品都是10M左右,而这些视频都将近200M了,下载不了啊。

可以啊,我是直接用谷歌浏览器下载。速度还蛮快的。

 回复 引用 查看   
#35楼 2011-01-11 23:10 Aga.J      
只有感慨和佩服了,记得那时候你也刚开始学的。。。
 回复 引用 查看   
#36楼[楼主] 2011-01-12 05:26 Jake Lin      
@Frank Xu Lei
老徐终于来了,以为你老是与王菲老公偷情,把兄弟我给忘记了,呵呵。

 回复 引用 查看   
#37楼[楼主] 2011-01-12 05:33 Jake Lin      
引用hhshuai:楼主的这个视频有点大啊,webcast上的食品都是10M左右,而这些视频都将近200M了,下载不了啊。

据说以前的视频由于压缩比率太大导致画面和声音质量不好,请使用ireaper试试,这个工具好像提供分辨率相对低些,体积小些的文件进行下载。由于我使用的是英文版的windows,一直没有测试过ireaper,具体请打开工具看看。

 回复 引用 查看   
#38楼[楼主] 2011-01-12 05:34 Jake Lin      
@彦斌
谢谢帮忙。

 回复 引用 查看   
#39楼[楼主] 2011-01-12 05:35 Jake Lin      
@Aga.J
引用Aga.J:只有感慨和佩服了,记得那时候你也刚开始学的。。。

是呀,边学边录,算是入门了,后面通过大量项目进行提高。

 回复 引用 查看   
#40楼 2011-01-12 08:48 戒掉戒      
视频已经下载,你的普通话很好,辛苦了。
 回复 引用 查看   
#41楼 2011-01-12 09:12 天行健 自强不息      
这个一定要支持
 回复 引用 查看   
#42楼 2011-01-14 10:53 xfwing      
感谢Jake和微软花这么大的精力做这视频很,佩服Jake做事精神。
你的普通话我认为相当不错,带着地方口语听起来很舒服,希望继续保持和发扬。

 回复 引用 查看   
#43楼[楼主] 2011-01-14 11:35 Jake Lin      
@xfwing
@天行健 自强不息
@戒掉戒
谢谢。我会继续努力。

 回复 引用 查看   
#44楼 2011-01-17 16:55 shirleylin      
我也是广东人哦。开心哈哈,在这里找到老乡。可以加我QQ 302863419
 回复 引用 查看   
#45楼[楼主] 2011-01-18 05:31 Jake Lin      
引用shirleylin:我也是广东人哦。开心哈哈,在这里找到老乡。可以加我QQ 302863419

不好意思,我基本不用QQ,其他方式吧。

 回复 引用 查看   
#46楼 2011-01-18 11:03 qyblshen      
林老师,你好,请教你一个问题:有没有办法做到让wp7支持C语言调用。因为我之前的库是用C语言写的。我也看过您的视频,您也说过只能用C#或者VB.NET F#。但是目前有一大部分的用C写的优秀程序如果完全用C#来转换估计有点不显示。您说说看,微软以后有没有可能对加入对C语言的调用支持。我目前遇到的问题就是上面描述的那样,想调用C语言写的库函数。。。
 回复 引用 查看   
#47楼[楼主] 2011-01-18 11:38 Jake Lin      
引用qyblshen:林老师,你好,请教你一个问题:有没有办法做到让wp7支持C语言调用。因为我之前的库是用C语言写的。我也看过您的视频,您也说过只能用C#或者VB.NET F#。但是目前有一大部分的用C写的优秀程序如果完全用C#来转换估计有点不显示。您说说看,微软以后有没有可能对加入对C语言的调用支持。我目前遇到的问题就是上面描述的那样,想调用C语言写的库函数。。。

在我第一个视频说过,据我了解到当前微软允许三种开发者使用原生代码:微软内部,手机厂商,电信运营商。所有原生代码都需要由微软验证后才能发布的,所以所有原生代码的应用都必须提供源码给微软验证。但是没有任何消息说微软把原生的api提供给第三方开发者,所以近期基本不可能使用c/c++编写wp的程序了。到底以后能不能,我不清楚,因为wp是基于wince的,所以底层都是c的api,如果微软愿意的话,提供NDK也是很简单的事情,但是出于安全考虑,估计近期不会提供。也有些人验证WP的ROM,自己提取api出来用,这也是一个方法,但是没有文档,基本不能进行做大规模的项目。如果一定要使用c/c++,Windows Embedded Compat 7(Wince 7)也是可以的,而且支持原生的Silverlight,不一定用Windows Phone。

 回复 引用 查看   
#48楼 2011-01-19 15:34 vvGO      
看视频学习中 膜拜~~jake 可以推荐几本wp的书么?
 回复 引用 查看   
#49楼[楼主] 2011-01-19 19:50 Jake Lin      
引用vvGO:看视频学习中 膜拜~~jake 可以推荐几本wp的书么?

我推荐programming windows phone 7,免费下载的,而且我现在在翻译。

 回复 引用 查看   
#50楼 2011-01-21 15:33 菩提树下的杨过      
Jake老师,感谢分享这么精彩的视频,问一个问题:wp7开发中如何检测是否已经联网?好象原来winform中的很多办法都不好用了
 回复 引用 查看   
#51楼 2011-01-21 17:18 菩提树下的杨过      
不好意思,又遇到一个新问题:Application Bar中的ApplicationBarIconButton 好象不能做动画(比如我想让它一闪一闪,提示用户应该点击这个按钮)。我在Blend中,选中了它,但在属性栏里却找不到透明度的属性,只能看到Content,Name等有限的选项?
 回复 引用 查看   
#52楼[楼主] 2011-01-24 10:48 Jake Lin      
引用菩提树下的杨过:Jake老师,感谢分享这么精彩的视频,问一个问题:wp7开发中如何检测是否已经联网?好象原来winform中的很多办法都不好用了

if(NetworkInterface.GetIsNetworkAvailable())
{
}
但是不能用于模拟器。


winform的UI全部都不能用,需要用silverlight的。

 回复 引用 查看   
#53楼[楼主] 2011-01-24 10:55 Jake Lin      
引用菩提树下的杨过:不好意思,又遇到一个新问题:Application Bar中的ApplicationBarIconButton 好象不能做动画(比如我想让它一闪一闪,提示用户应该点击这个按钮)。我在Blend中,选中了它,但在属性栏里却找不到透明度的属性,只能看到Content,Name等有限的选项?

Application Bar不是继承UIElement,所以不能做数据绑定,应该是不能做动画效果的。到底能否做动画,我要研究下才知道。

 回复 引用 查看   
#54楼 2011-01-24 10:57 deerlu      
老师好:
我想做一个windows phone 7 上的网络防火墙,作为我的毕业设计,不知道能不能实现,windows phone 7 支持socket 编程吗?
和windows里面的一样吗?
如果不行是不是可以用windows mobile 6.5版本呢?希望老师有时间时回复我或者发我邮箱里frienddeer@163.com,谢谢老师

 回复 引用 查看   
#55楼[楼主] 2011-01-24 11:19 Jake Lin      
引用deerlu:
老师好:
我想做一个windows phone 7 上的网络防火墙,作为我的毕业设计,不知道能不能实现,windows phone 7 支持socket 编程吗?
和windows里面的一样吗?
如果不行是不是可以用windows mobile 6.5版本呢?希望老师有时间时回复我或者发我邮箱里frienddeer@163.com,谢谢老师

Windows Phone 7不为第三方开发者开放sockect的api,所以你只能在Windows Mobile 6.5上实现你的功能了。 6.5的socket操作基本上与Windows一样。

 回复 引用 查看   
#56楼 2011-01-24 14:33 徐跃      
老师好:
我想做一个纯代码的WP7工程,不包含.xaml,请问下能用NavigationService进行导航吗?如果不能,有其他的类似导航API么

 回复 引用 查看   
#57楼[楼主] 2011-01-25 07:41 Jake Lin      
引用徐跃:
老师好:
我想做一个纯代码的WP7工程,不包含.xaml,请问下能用NavigationService进行导航吗?如果不能,有其他的类似导航API么

从本质上来说XAML和cs编写的对象是等同的,因为XAML最终会解析成.NET的对象,而且一般是继承于UIElement的对象,所以是可以通过编写C#代码而不是XAML来写程序的。但是有些控件会有些不一样,例如MediaElement,这些你需要注意一下。
关于NavigationService,在Silverlight里面只支持导航到Uri,在WPF里面支持导航到object,如果要实现你的需求,需要自己写一个NavigationService。

 回复 引用 查看   
#58楼 2011-01-25 15:08 Alon Xu      
林老师,您好,我想毕业设计做个Windows Phone 7的应用,不知道Windows Phone 7能不能通过WebService来获取XML数据。
 回复 引用 查看   
#59楼[楼主] 2011-01-27 13:46 Jake Lin      
引用Alon Xu:林老师,您好,我想毕业设计做个Windows Phone 7的应用,不知道Windows Phone 7能不能通过WebService来获取XML数据。

Windows Phone使用webservice和xml一点问题都没有。

 回复 引用 查看   
#60楼[楼主] 2011-01-27 13:47 Jake Lin      
引用菩提树下的杨过:不好意思,又遇到一个新问题:Application Bar中的ApplicationBarIconButton 好象不能做动画(比如我想让它一闪一闪,提示用户应该点击这个按钮)。我在Blend中,选中了它,但在属性栏里却找不到透明度的属性,只能看到Content,Name等有限的选项?

不支持,请参考http://blogs.msdn.com/b/ptorr/archive/2010/06/18/why-are-the-applicationbar-objects-not-frameworkelements.aspx

Firstly, the ApplicationBar is not a Silverlight element and thus not all Silverlight concepts apply to it. For example, you would expect that the Background could be set to any kind of brush - SolidColorBrush, LinearGradientBrush, and so on - but because the AppBar is actually rendered by the Windows Phone shell, it only supports a solid colour. You might also expect to be able to put arbitrary Content inside the buttons, or to apply RenderTransforms to the menu items, and so on. And you should be able to put it anywhere on the screen with HorizontalAlignment / VerticalAlignment, right? Again, none of these things are supported by the underlying shell UX, so they would all have to throw exceptions or no-op when called. And where's the fun in that?

Secondly, the content models in Silverlight 3 do not support controls with multiple collections of items. Some of the built-in elements have multiple collections - for example, Grid has the Children collection in addition to the RowDefinitions and ColumnDefinitions collections - but these are not actually usable outside of the "core" (they rely on PresentationFrameworkCollection, which is an internal class, and in order to maintain portability across platforms we are not adding anything phone-specific to the "core"). For the AppBar, we want both a Buttons collection and a MenuItems collection, and that's just not doable in a clean, strongly-typed API (there are hacks, such as making the AppBar a generic container and then hoping that developers only put buttons and menu items into it, but they're not good design). Silverlight 4 has addressed this limitation with the DependencyObjectCollection<T> class, but Windows Phone is based on version 3, not 4.

 回复 引用 查看   
#61楼 2011-01-27 14:35 菩提树下的杨过      
@Jake Lin
感谢耐心解答!

 回复 引用 查看   
#62楼 2011-01-27 15:46 qyblshen      
林老师:您好,请您两个问题:一:大数据如1G多的数据,有没有办法方到隔离存储空间上,暂不考虑微软的400M限制。隔离存储空间是否可以存储这么多的数据,如果可以,那又如何把这么大的数据方到那个空间中。
二:看了您关于隔离存储空间的视频后,我有个疑问就是应用程序如何访问本地数据(工程加载进去的数据)。希望林老师给与指教谢谢!


 回复 引用 查看   
#63楼 2011-01-27 19:16 Alon Xu      
引用Jake Lin:
引用Alon Xu:林老师,您好,我想毕业设计做个Windows Phone 7的应用,不知道Windows Phone 7能不能通过WebService来获取XML数据。

Windows Phone使用webservice和xml一点问题都没有。

谢谢林老师!

 回复 引用 查看   
#64楼 2011-02-07 01:26 欣欣      
@qyblshen
数据存放在手机的application/data/下的一个目录

 回复 引用 查看   
#65楼 2011-02-10 13:20 tonylx      
请教问题:
问题1:当文本框获得焦点的时候,windows phone 7会自动提供给我们一个软键盘,我现在想实现当点击软键盘中的回车按钮,关闭该软键盘,如何实现。

问题2:在一个页面上做loading状态,是不是要使用popup容器,如何实现

 回复 引用 查看   
#66楼[楼主] 2011-02-11 07:55 Jake Lin      
引用qyblshen:
林老师:您好,请您两个问题:一:大数据如1G多的数据,有没有办法方到隔离存储空间上,暂不考虑微软的400M限制。隔离存储空间是否可以存储这么多的数据,如果可以,那又如何把这么大的数据方到那个空间中。

Windows Phone的隔离存储空间没有配额的限制,理论上能放物理卡那么大。

 回复 引用 查看   
#67楼[楼主] 2011-02-11 08:15 Jake Lin      
引用qyblshen:
二:看了您关于隔离存储空间的视频后,我有个疑问就是应用程序如何访问本地数据(工程加载进去的数据)。希望林老师给与指教谢谢!


可以使用下面两种方法之一把xap的数据库文件拷贝到stream里面
Application.GetResourceStream Method (StreamResourceInfo, Uri)
http://msdn.microsoft.com/en-us/library/system.windows.resources.streamresourceinfo%28v=vs.95%29.aspx
TitleContainer.OpenStream
http://msdn.microsoft.com/en-us/library/ff434343.aspx
然后把stream保存到isolatedstorage里面。

 回复 引用 查看   
#68楼[楼主] 2011-02-11 08:34 Jake Lin      
引用欣欣:
@qyblshen
数据存放在手机的application/data/下的一个目录


这个只有hack过的手机才能看,正常提交的程序不能访问这些文件夹呀。呵呵。

 回复 引用 查看   
#69楼[楼主] 2011-02-11 08:35 Jake Lin      
引用tonylx:
请教问题:
问题1:当文本框获得焦点的时候,windows phone 7会自动提供给我们一个软键盘,我现在想实现当点击软键盘中的回车按钮,关闭该软键盘,如何实现。

问题2:在一个页面上做loading状态,是不是要使用popup容器,如何实现

请看另外一个贴

 回复 引用 查看   
#70楼 2011-02-11 10:38 qyblshen      
@Jake Lin
您的意思是说,可以用Windows Embedded Compat 7开发出来的程序来方到wp7机器上跑吗?

 回复 引用 查看   
#71楼[楼主] 2011-02-11 11:38 Jake Lin      
引用qyblshen:
@Jake Lin
您的意思是说,可以用Windows Embedded Compat 7开发出来的程序来方到wp7机器上跑吗?

No,the application built by win CE 7 can not run on wp7.There is no any official way to build an app with c++. Anyway, you can hack it and build c++ app on the top of dodgy rom. There's some kind of homemade app you can find, for instance, touchxperience.com . But again, general speaking,it's not worth to do that because such app can not publish on WP marketplace ever. Unless ms changes his/her policy.

Sent from my windows phone. No Chinese input method yet, just upset me.

 回复 引用 查看   
#72楼 2011-03-02 15:15 tonylx      
private void button1_Click(object sender, RoutedEventArgs e)
{
string url = "xxxUri";

WebRequest request = HttpWebRequest.Create(new Uri(url, UriKind.Absolute));

request.Credentials = new NetworkCredential("user", "password");

request.Method = "POST";
request.ContentType = "text/xml";
request.Headers["key"] = "iph_2_1297481370552::YTg4ZWM0NjA2Njk3MTBiODNlNWU0YjRkMWUyYTc5ZmQ=";
request.BeginGetRequestStream(new AsyncCallback(requestCallBack), request);



}

void requestCallBack(IAsyncResult result)
{
HttpWebRequest request = result.AsyncState as HttpWebRequest;
request.ContentType = "application/atom+xml";//获取设置HTTP标头值
Stream stream = request.EndGetRequestStream(result);


StringBuilder sb = new StringBuilder();
sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
sb.Append("<pickupOffer state=\"\" timestamp=\"\" demandId=\"3003\" id=\"\">");
sb.Append("<driverDeviceId>");
sb.Append("iph_2_1297481370552");
sb.Append("</driverDeviceId>");
sb.Append("</pickupOffer>");
StreamWriter sw = new StreamWriter(stream);
sw.Write(sb.ToString());
sw.Close();
stream.Close();

request.BeginGetResponse(new AsyncCallback(responseCallBack), request);


}

void responseCallBack(IAsyncResult result)
{
try
{
HttpWebRequest request = result.AsyncState as HttpWebRequest;
HttpWebResponse response = request.EndGetResponse(result) as HttpWebResponse;
//此处总是抛出异常:the remote server return error:Not Found


Stream stream1 = response.GetResponseStream();

using (StreamReader sr = new StreamReader(stream1, System.Text.Encoding.UTF8))
{
string s = sr.ReadToEnd();
Dispatcher.BeginInvoke(() => MessageBox.Show(s));
}
}
catch (Exception ex)
{
Dispatcher .BeginInvoke (()=>MessageBox .Show (ex.InnerException .Message .ToString ()));
}
}


问题1:the remote server return error:not found 一般是什么错误
问题2:远程的API,要求是用POST提交,并且要传递一个XML字符串,
我这种写法是否正确,请指教,谢谢,

 回复 引用 查看   
#73楼 2011-03-16 22:22 DanielXu      
大哥,我看完你的视频第3集做postcode演示程序的时候,为什么我的textbox不能输入文字啊,查询按钮也不管用,你能帮我看看嘛?

——————————————页面代码——————————————————
<!--TitlePanel contains the name of the application and page title-->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle" Text="实用小工具" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock x:Name="PageTitle" Text="中国邮编查询" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>

<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBlock Height="30" HorizontalAlignment="Left" Margin="35,48,0,0" Name="postcodeTextboxTextBlock" Text="邮编:" VerticalAlignment="Top" />
<TextBox Height="72" HorizontalAlignment="Left" Margin="140,27,0,0" Name="postcodeTextBox" VerticalAlignment="Top" Width="298" >
</TextBox>
<TextBlock Height="30" HorizontalAlignment="Left" Margin="35,126,0,0" Name="addressTextBoxBlock" Text="地址:" VerticalAlignment="Top" />
<TextBox Height="72" HorizontalAlignment="Left" Margin="140,105,0,0" Name="addressTextBox" VerticalAlignment="Top" Width="298" />
<Button Content="查询" Height="72" HorizontalAlignment="Left" Margin="140,200,0,0" Name="query" VerticalAlignment="Top" Width="160" Click="query_Click" />
</Grid>
</Grid>

 回复 引用 查看   
#74楼 2011-03-16 22:25 DanielXu      
还有,我的模拟器右边那排的东西是什么啊,我看你视频里没有啊

 回复 引用 查看   
#75楼 2011-03-25 10:34 彦斌      
引用DanielXu:
还有,我的模拟器右边那排的东西是什么啊,我看你视频里没有啊

在App.xaml里:
Application.Current.Host.Settings.EnableFrameRateCounter = true;

 回复 引用 查看   
#76楼[楼主] 2011-03-26 05:52 Jake Lin      
@彦斌
谢谢!

引用DanielXu:
还有,我的模拟器右边那排的东西是什么啊,我看你视频里没有啊

这是性能计数器,可以通过Application.Current.Host.Settings.EnableFrameRateCounter = true;来显示或者隐藏。


 回复 引用 查看   
#77楼[楼主] 2011-03-26 05:56 Jake Lin      
引用tonylx:
private void button1_Click(object sender, RoutedEventArgs e)
{
string url = "xxxUri";

WebRequest request = HttpWebRequest.Create(new Uri(url, UriKind.Absolute));

request.Credentials = new NetworkCredential("user", "password");
...

问题1:the remote server return error:not found 一般是什么错误
-----一般是地址搞错了。
问题2:远程的API,要求是用POST提交,并且要传递一个XML字符串,
-----我不是很懂你的代码,一般不会传递xml,而是使用querystring传递,如果地址栏一定要xml,也需要encode,转变某些字符。


 回复 引用 查看   
#78楼[楼主] 2011-03-26 05:56 Jake Lin      
引用DanielXu:
大哥,我看完你的视频第3集做postcode演示程序的时候,为什么我的textbox不能输入文字啊,查询按钮也不管用,你能帮我看看嘛?

——————————————页面代码——————————————————
<!--TitlePanel contains the name of the application and page title-->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="A...

请在query_Clic函数加个断点看看。

 回复 引用 查看   
#79楼 2011-04-08 14:24 碎雨听音      
林老师,真的很感谢啊,我觉得您讲的挺好的,我就是听您的视频入门的WP7,那么我也希望您在后续可以讲解下WP7的实际软件设计
 回复 引用 查看   
#80楼[楼主] 2011-04-08 19:23 Jake Lin      
引用碎雨听音:林老师,真的很感谢啊,我觉得您讲的挺好的,我就是听您的视频入门的WP7,那么我也希望您在后续可以讲解下WP7的实际软件设计

请叫我Jake,谢谢!其实我之前有个系列文章写过,但是我也想更新和丰富这些文章。请参考一下,
http://www.cnblogs.com/procoder/archive/2010/09/27/Silverlight-for-Windows-Phone-7.html

 回复 引用 查看   
#81楼 2011-04-24 15:06 Holyen      
想请教 想在手机首桌面上写应用程序展示,如像UC桌面之类 有这方面的资料学习吗
 回复 引用 查看   
#82楼 2011-06-03 09:07 星空(StarrySky)      
WindowsPhone数据存储。做了个Wp7下的网址收藏夹,要用到数据存储。请问用什么存储方式比较好?用数据库还是“txt”、“xml”文件存储???
 回复 引用 查看   
#83楼[楼主] 2011-06-03 10:49 Jake Lin      
引用星空(StarrySky):WindowsPhone数据存储。做了个Wp7下的网址收藏夹,要用到数据存储。请问用什么存储方式比较好?用数据库还是“txt”、“xml”文件存储???

使用xml既简单又具有扩展性。

 回复 引用 查看   
#84楼 2011-06-03 11:11 星空(StarrySky)      
引用Jake Lin:
引用星空(StarrySky):WindowsPhone数据存储。做了个Wp7下的网址收藏夹,要用到数据存储。请问用什么存储方式比较好?用数据库还是“txt”、“xml”文件存储???

使用xml既简单又具有扩展性。


谢谢你啊,非常感谢。。。
小弟时间挺紧的,有朋友“建议使用IsolatedStorageSettings”,这个可以吗?
还是使用单独的XML文件???

“IsolatedStorageSettings”又指什么呢???

 回复 引用 查看   
#85楼[楼主] 2011-06-03 11:55 Jake Lin      
@星空(StarrySky)
Yes. Not s problem ..

 回复 引用 查看   
#86楼 2011-06-03 12:02 星空(StarrySky)      
引用Jake Lin:
@星空(StarrySky)
Yes. Not s problem ..



Would you speak a little more

About IsolatedStorageSettings ,Have examples?

My English is Bad...

 回复 引用 查看   
#87楼[楼主] 2011-06-03 12:35 Jake Lin      
引用星空(StarrySky):
引用Jake Lin:
@星空(StarrySky)
Yes. Not s problem ..



Would you speak a little more

About IsolatedStorageSettings ,Have examples?

My English is Bad...

在视频中有详细的例子,有时候使用windows phone,不能输入中文。

 回复 引用 查看   
#88楼[楼主] 2011-06-03 12:36 Jake Lin      
引用星空(StarrySky):
引用Jake Lin:
@星空(StarrySky)
Yes. Not s problem ..



Would you speak a little more

About IsolatedStorageSettings ,Have examples?

My English is Bad...

Silverlight for Windows Phone 开发系列课程(8):隔离存储空间

 回复 引用 查看   
#89楼 2011-06-03 15:07 星空(StarrySky)      
引用Jake Lin:
引用星空(StarrySky):
引用Jake Lin:
@星空(StarrySky)
Yes. Not s problem ..



Would you speak a little more

About IsolatedStorageSettings ,Have examples?

My English is Bad...

Silverlight for Windows Phone 开发系列课程(8):隔离存储空间


谢谢,能不能给小弟说点思路呢???因为要保存记事本信息、网站收藏信息、账号密码信息,保存成XML文件可能更加简单吧,独立存储空间只是一个数据字典啊。。。

能不能给小弟一点提示,说说思路呢???

 回复 引用 查看   
#90楼 2011-06-20 22:21 wangzhiw      
林老师,你好,我想对《Silverlight for Window Phone 开发系列(12)-推送通知服务》一章提个问题,我在学习对应的training kit(UsingPushNotifications)的时候,是按照教程一步步走的,但还是遇到一个问题,toast notification在程序不运行的时候可以收到,但是在程序运行的时候却没有收到,我试用对应的End目录(Ex2-TileToastNotifications/End)下面的solution,也存在这样的问题。我一直找不到是哪里有问题,调试的时候发现在server发送toast notification正常,但是客户端没反应,根本进不到ShellToastNotificationReceived事件的处理函数里面。不知道问题出在哪里,能不能麻烦林老师赐教一下。
 回复 引用 查看   
#91楼[楼主] 2011-07-01 11:08 Jake Lin      
引用wangzhiw:林老师,你好,我想对《Silverlight for Window Phone 开发系列(12)-推送通知服务》一章提个问题,我在学习对应的training kit(UsingPushNotifications)的时候,是按照教程一步步走的,但还是遇到一个问题,toast notification在程序不运行的时候可以收到,但是在程序运行的时候却没有收到,我试用对应的End目录(Ex2-TileToastNotifications/End)下面的solution,也存在这样的问题。我一直找不到是哪里有问题,调试的时候发现在server发送toast notification正...

请问你程序运行时,RAW notification能接收到吗?

 回复 引用 查看   
#92楼[楼主] 2011-07-01 11:10 Jake Lin      
引用星空(StarrySky):
引用Jake Lin:
引用星空(StarrySky):
引用Jake Lin:
@星空(StarrySky)
Yes. Not s problem ..



Would you speak a little more

About IsolatedStorageSettings ,Have examples?

My English is Bad...

Silverlight for Windows Phone 开发系列课程(8):隔离存储空间


谢谢,能不能给小弟说点思路呢???因为...

如果你的数据结构很简单,使用isolatedstoragesetting就好了,如果复杂了,最好使用sterling database等数据库,xml读取比较简单,写进去有点复杂。所有我一般在只读配置中使用xml,对写配置使用数据库。

 回复 引用 查看   
#93楼 2011-07-01 19:46 wangzhiw      
@Jake Lin
Raw Notification是可以收到的,按照Training Kit上面的介绍,只有程序运行时Toast Notification不能正常工作。

 回复 引用 查看   
#94楼[楼主] 2011-07-09 13:21 Jake Lin      
引用wangzhiw:
@Jake Lin
Raw Notification是可以收到的,按照Training Kit上面的介绍,只有程序运行时Toast Notification不能正常工作。

能不能换一个模拟器试试,这个问题很奇怪呀。

 回复 引用 查看   
#95楼 2011-07-09 14:33 wangzhiw      
@Jake Lin
换模拟器的意思是?我用的一直是RTM版开发工具里面的模拟器,还有别的么?

 回复 引用 查看   
#96楼[楼主] 2011-07-11 10:43 Jake Lin      
引用wangzhiw:
@Jake Lin
换模拟器的意思是?我用的一直是RTM版开发工具里面的模拟器,还有别的么?

可以试一下7.1 beta,或者换台电脑试试。

 回复 引用 查看   
#97楼 2011-07-11 22:03 wangzhiw      
@Jake Lin
哦~谢谢您,我试一下。

 回复 引用 查看   
#98楼 2011-07-13 02:10 星空(StarrySky)      
您好,在大家的帮助下小弟顺利的进入了决赛,20号去长沙国防科技大参加比赛。谢谢您。。。为了取得较好的比赛成绩,我们老师给小弟配了个HTC 的HD7手机,哈哈哈。。。现在有个问题还想请教下。怎样将开发的软件直接部署到手机上进行调试开发,手机已经解锁越狱。。。
 回复 引用 查看   
#99楼[楼主] 2011-07-14 18:55 Jake Lin      
引用星空(StarrySky):您好,在大家的帮助下小弟顺利的进入了决赛,20号去长沙国防科技大参加比赛。谢谢您。。。为了取得较好的比赛成绩,我们老师给小弟配了个HTC 的HD7手机,哈哈哈。。。现在有个问题还想请教下。怎样将开发的软件直接部署到手机上进行调试开发,手机已经解锁越狱。。。

请看视频中《在真机调试》一节。

 回复 引用 查看   
#100楼 2011-07-17 23:45 LTennis      
林老师您好,我刚学习windows phone编程。想请问您一个问题,假设我有一大段文字要显示在textblock中,但我不想在xaml文件中,声明textblock时写
<TextBlock Text="……………………………………………………………………"/>
我的意思是,能不能把这段文字放在别的地方,以后要改的时候也比较方便。
另外,看您的教学视频,注意到您编程特别快,请问一下您经常用到的快捷键都有哪些呢?
谢谢您~

 回复 引用 查看   
#101楼[楼主] 2011-07-18 09:34 Jake Lin      
引用LTennis:
林老师您好,我刚学习windows phone编程。想请问您一个问题,假设我有一大段文字要显示在textblock中,但我不想在xaml文件中,声明textblock时写
<TextBlock Text="……………………………………………………………………"/>
我的意思是,能不能把这段文字放在别的地方,以后要改的时候也比较方便。
另外,看您的教学视频,注意到您编程特别快,请问一下您经常用到的快捷键都有哪些呢?
谢谢您~

两步,第一步从配置文件读取你的配置信息,例如从xml中读,或者从独立存储空间读。
第二步可以通过代码,例如 textblock1.Text = "读取回来的信息"; 来设置。 或者通过数据绑定 <TextBlock Text="{Binding SomeInfo}"/>

通过代码直接写比较简单,数据绑定复杂一点。

 回复 引用 查看   
#102楼[楼主] 2011-07-19 06:42 Jake Lin      
引用LTennis:
林老师您好,我刚学习windows phone编程。想请问您一个问题,假设我有一大段文字要显示在textblock中,但我不想在xaml文件中,声明textblock时写
<TextBlock Text="……………………………………………………………………"/>
我的意思是,能不能把这段文字放在别的地方,以后要改的时候也比较方便。
另外,看您的教学视频,注意到您编程特别快,请问一下您经常用到的快捷键都有哪些呢?
谢谢您~

关于快捷键的问题,可以参考 http://www.dofactory.com/ShortCutKeys/ShortCutKeys.aspx
里面介绍了VS常用的快捷键。你也可以安装一个resharper,这样编程就快很多了,但是我在视频中没有使用resharper。

 回复 引用 查看   
#103楼 2011-07-21 14:33 zhouhytx      
您好,林老师,看了你的视频觉得您讲的非常好,非常详细。在WP7中开发中,我在使用siverlight toolkit中的longlistselector控件,但遇到了点问题,想请教您一下:就是我用longlistselector时,获取到了一系列的联系人,而且对联系人进行了分组,但是当我点击某个联系人进入到和这个人聊天界面后,再返回到原来的联系人列表时,原来里面的联系人都消失了,需要我在触摸一下屏幕,才会再次出现。现在分组已经实现了,但是就是在切换再返回时出现这个问题,可以指点我一下吗?
 回复 引用 查看   
#104楼[楼主] 2011-07-21 14:42 Jake Lin      
引用zhouhytx:您好,林老师,看了你的视频觉得您讲的非常好,非常详细。在WP7中开发中,我在使用siverlight toolkit中的longlistselector控件,但遇到了点问题,想请教您一下:就是我用longlistselector时,获取到了一系列的联系人,而且对联系人进行了分组,但是当我点击某个联系人进入到和这个人聊天界面后,再返回到原来的联系人列表时,原来里面的联系人都消失了,需要我在触摸一下屏幕,才会再次出现。现在分组已经实现了,但是就是在切换再返回时出现这个问题,可以指点我一下吗?

请问聊天界面是另外一个page吗?如果是需要在原来的页面的OnNavigatedFrom恢复一些联系人列表状态信息。

 回复 引用 查看   
#105楼[楼主] 2011-07-21 14:44 Jake Lin      
@zhouhytx
是OnNavigatedTo,用于返回的时候调用。

 回复 引用 查看   
#106楼 2011-07-21 18:34 zhouhytx      
@Jake Lin
谢谢林老师,聊天界面是另外一个page。但我看siverlight toolkit中关于longlistselector控件使用的源代码中也没有使用这个OnNavigatedTo,但他的例子中返回时却是可以的。

 回复 引用 查看   
#107楼[楼主] 2011-07-21 18:45 Jake Lin      
引用zhouhytx:
@Jake Lin
谢谢林老师,聊天界面是另外一个page。但我看siverlight toolkit中关于longlistselector控件使用的源代码中也没有使用这个OnNavigatedTo,但他的例子中返回时却是可以的。

我是没有用过这个控件,我想如果数据不见了,可以在OnNavigatedTo中再初始化一下,也有可能是其他原因,请问你是用数据绑定吗?

 回复 引用 查看   
#108楼 2011-07-21 19:46 zhouhytx      
@Jake Lin
是的,我是用的数据绑定。前台是这个控件的一些布局:
<toolkit:LongListSelector x:Name="list3" Grid.Row="0" ItemsSource="{Binding}">

                        <toolkit:LongListSelector.GroupItemsPanel>
                            <ItemsPanelTemplate>
                                <toolkit:WrapPanel Orientation="Horizontal"/>
                            </ItemsPanelTemplate>
                        </toolkit:LongListSelector.GroupItemsPanel>
                        <toolkit:LongListSelector.GroupItemTemplate>
                            <DataTemplate>
                                <Border Background="Red">
                                    <TextBlock Text="{Binding Key}" FontSize="20"/>
                                </Border>
                            </DataTemplate>
                        </toolkit:LongListSelector.GroupItemTemplate>

                        <toolkit:LongListSelector.GroupHeaderTemplate>
                            <DataTemplate>
                                <Border Background="Green">
                                    <TextBlock Text="{Binding Key}" FontSize="20"/>
                                </Border>
                            </DataTemplate>
                        </toolkit:LongListSelector.GroupHeaderTemplate>

                        <toolkit:LongListSelector.ItemTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal" Background="#00EFE7E7" Width="400" Margin="10">
                                    <Image Source="{Binding ShowStatus}" Height="16" Width="16"/>
                                    <Image Source="{Binding PicURL}" Height="60" Width="60" MouseLeftButtonDown="Image_MouseLeftButtonDown" MouseLeftButtonUp="Image_MouseLeftButtonUp" />
                                    <TextBlock Text="{Binding DisplayName}" FontSize="30" Foreground="Black" MouseLeftButtonDown="TextBlock_MouseLeftButtonDown" MouseLeftButtonUp="TextBlock_MouseLeftButtonUp">
                                    </TextBlock>
                                </StackPanel >
                            </DataTemplate>
                        </toolkit:LongListSelector.ItemTemplate>

                    </toolkit:LongListSelector>


后台代码是这样绑定的:
public NewChatList()
        {
            this.DataContext = User.Users;
            InitializeComponent();
            list3.DataContext = User.GroupedUsers;
            this.Personal_name.DataContext = PersonInfo.Person;
            this.Personal_img.DataContext = PersonInfo.Person;
        }

 回复 引用 查看   
#109楼 2011-07-21 20:06 zhouhytx      
@Jake Lin
我在OnNavigatedTo中将数据重新绑定了一些,重新初始化了,结果还是一样。返回后联系人还是不见了。
 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {

            this.DataContext = User.Users;
            InitializeComponent();
            list3.DataContext = User.GroupedUsers;
            this.Personal_name.DataContext = PersonInfo.Person;
            this.Personal_img.DataContext = PersonInfo.Person;
        }

 回复 引用 查看   
#110楼[楼主] 2011-07-22 12:54 Jake Lin      
引用zhouhytx:
@Jake Lin
我在OnNavigatedTo中将数据重新绑定了一些,重新初始化了,结果还是一样。返回后联系人还是不见了。
[code=csharp]
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{

this.DataContext = User.Users;
InitializeComponent();
list3.DataContext = Use...

我觉得这一句有问题。
InitializeComponent();
会初始化了你的数据。

 回复 引用 查看   
#111楼 2011-07-22 13:01 zhouhytx      
@Jake Lin
这句话去掉了之后还是一样的,后来我试了一下那个源代码,将源代码重新编译一下,再引用生成的dll文件后就没问题了,我觉得是版本的问题。

 回复 引用 查看   
#112楼[楼主] 2011-07-23 17:45 Jake Lin      
引用zhouhytx:
@Jake Lin
这句话去掉了之后还是一样的,后来我试了一下那个源代码,将源代码重新编译一下,再引用生成的dll文件后就没问题了,我觉得是版本的问题。

晕。

 回复 引用 查看   
#113楼 2011-08-27 22:13 ji_qin      
希望出第三季 介绍 mango里面新特性
 回复 引用 查看   
#114楼 2011-10-22 23:24 tiyoto      
林老师,如何得到视频源码?
tiyoto@yahoo.cn

 回复 引用 查看   
#115楼 2011-10-27 17:35 w41q      
呃,请问一下,看第二季和第一季课程设置是一样的,二者有什么区别啊?
 回复 引用 查看   
#116楼 2011-11-01 17:41 pythoner      
Programming Windows Phone 7翻译到什么进度了,离上市还有多久啊?
评论共2页: 上一页 1 2