Windows Phone 7 开发 31 日谈——第7日:启动器

昨天我们讨论了在你的Windows Phone程序中如何使用工具栏。今天,我们来了解一下程序中的另一个核心功能,启动器。

什么是启动器?

    我发现我自己经常将启动器描述为一个“触发并忘记”的机制。你可以使用它们发送邮件,查看地图,拍摄照片等等。我会向作为开发人员的你讲解这个平台上的每个可用的启动器。在本文的最后,我提供了一个可下载的包含了所有讲述过的启动器的代码示例。

    对于这些启动器来说要记住的一点是它们中有一些在模拟器上无法工作。例如EmailComposeTask会假设你已经拥有并在设备上创建了邮箱账户。因为模拟器不能创建邮箱账户,所以你无法去测试它。你可以来参加我的“办公时间”。每周四,在Columbus,我在上午7点至9点通过真机来测试程序。如果你想试试的话可以联系我。

阅读全文 »

[linq视频教程]ch02-Linq技术深入探讨

一、Lambda的由来

lambda 是由.net Framework1.0委托和2.0匿名方法过度而来。

二、Lambda表达式语法

 (参数列表)=>{方法体}

参数列表中的参数类型可以是明确类型或者是推断类型
如果是推断类型,则参数的数据类型将由编译器根据上下文自动推断出来

阅读全文 »

Windows Phone 7 开发 31 日谈——第6日:工具栏

昨天,我们讨论了系统主题以及如何通过鼠标使用Expression Blend来设置系统值。今天,我们来看看另一个可以用Expression Blend轻松实现的主题。如果你看到在各个地方比如YouTube展示过的应用程序后,你会发现它们基本都使用了一个漂亮的工具栏。

Windows Phone 7工具栏是应用程序底部的一排圆形图标。下面是我制作的游戏TapScotch中的工具栏演示。

阅读全文 »

Windows Phone 7 开发 31 日谈——第5日:系统主题

昨天,我讲解了设备方向,以及在用户改变他们的设备方向时如何适应这些改变。今天,我们来看看在他们更改了电话的主题和颜色后我们该做些什么。

深色与浅色主题

如果你还没看到,可以将你电话的主题由深改为浅,并设置一个强调色。来看一下相同的应用程序使用了两个不同主题:

阅读全文 »

Windows Phone 7 开发 31 日谈——第4日:设备方向

昨天我们讨论了Windows Phone的一个专用硬件按钮——返回键.今天我们聚焦另一个硬件特性:设备方向。

纵向和横向

    这两个术语区别并不太明显,纵向是设备的垂直方向,横向是水平方向。这两种方向在Windows Phone 7中都支持,但默认情况下,Silverlight程序以纵向开始,XNA程序以横向开始(游戏通常在宽屏下表现会更好)。本篇文章中,我们只讨论Silverlight程序,以及方向改变后如何去做,因为在用户使用程序时方向的变化是不可避免的。

默认项目是“只支持纵向的”

如果你看一下MainPage.xaml文件的头部信息,会发现两个属性:

SupportedOrientations="Portrait" Orientation="Portrait"

可以将SupportedOrientations想象成你准备在程序中支持的可能发生的情况的列表。你可以将SupportedOrientations设置成以下3个值中的任意一个:

阅读全文 »

Windows Phone 7 开发 31 日谈——第3日:返回键

昨天,我们讨论了页面导航,以及如何简单的调用NavigationService从而到达程序中的不同页面。简要地提到了返回键,但返回键的复杂性是值得在本系列中单独成文的,主要是因为你可以重写(override)返回键的行为。

返回键如何工作

    和浏览器中的返回按钮很相似。你可以点击它通过会话的决策信息后退。它能让你跨越多个站点,还有这些站点中的每个页面。Windows Phone中的返回键工作方式与之相同。它能让你回到之前访问过的页面,甚至是跨应用程序!

阅读全文 »

Windows Phone 7 开发 31 日谈——第2日:页面间导航

今天,我们来探讨如何在Silverlight for Windows Phone中进行页面间导航。这非常重要,原因有二:首先,你不会愿意在一个XAML文件中构建整个应用程序。第二,因为下面的原则,你的程序会自动利用手机内建的返回按键。这允许你的用户想返回到之前的操作时可以向前导航。明天我们来深入讨论返回按键。

    在页面间导航有很多种方法,但是我打算只讲一种。我更喜欢叫它简单Web导航。正如其名,这里采取的方式正如你在HTML页面中导航相似。当然还有一些其他的框架可用(像MVVM),但是本篇文章的目的是讲解这个简单的方法。

阅读全文 »

Windows Phone 7 开发 31 日谈——第1日:项目模板

 在写“Windows Phone 7 开发 31 日谈”的首篇文章时,我们需要做一些假设。>

    首先,我假设你懂一些Silverlight的知识。去年我写过一个 Silverlight 31 日谈的系列文章,所以我建议如果没接触过Silverlight你可以从那儿开始学习。本系列中的所有文章都假设你有Silverlight的基础知识。

    其次,我假设你已经安装了所有所需的工具。你可以在这里http://developer.windowsphone.com找到并下载它们。你需要Visual Studio 2010 for Windows Phone和Expression Blend 4 for Windows Phone。这两个你一定会用到,同时它们完全免费。如果你已经有了这些软件的正式版,它们将会更新这些项目的模板而非在你的机器上添加新的软件。

    好了,我们开始吧。

    今天,我们来看看在启动Visual Studio 2010时自带的一个默认的Windows Phone项目模板:Windows Phone Application。

阅读全文 »

C#反射属性例子

程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。反射通常具有以下用途:

使用 Assembly 定义和加载程序集,加载在程序集清单中列出的模块,以及从此程序集中查找类型并创建该类型的实例。

使用 Module 了解如下的类似信息:包含模块的程序集以及模块中的类等。您还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。

阅读全文 »

一步一步学Linq to sql(七):并发与事务

检测并发

首先使用下面的SQL语句查询数据库的产品表:

select* from products where categoryid=1

阅读全文 »