Windows Phone上的第一个Silverlight应...

Windows Phone上的Silverlight
Siverlight作为MS用于RIA开发方向的主要技术,现在已经发布到最新的Silverlight 5了,同时它是一个跨平台的技术,可广泛用于Internet应用、桌面应用、手机应用等多个方面,是一种非常强大的技术,针对Windows Phone平台,具有以下特点:
1. 基于Sliverlight3
由于用于Windows Phone上的Sliverlight是基于Silverlight3版本开发的,而彼时Silverlight4也已经在开发,所以Windows Phone上的Sliverlight不仅包含了SL3的核心内容,也增加了Silverlight4的内容,同时作为在手机设备上使用的Silverlight,它也增加了智能手机相关的功能。
2. Silverlgit Runtime专门为内存受限设备进行优化
由于Windows Phone的内存和屏幕相对于传统的PC来说比较小,所以要对使用在手机平台上的Silverlight进行优化,由于在手机设备上的程序不支持浏览器Silverlight插件,所以利用Sliverlight开发的手机应用程序要部署到Windows Phone上才可以运行,所有的Silverlight手机应用程序都要发布到Marketplace上才能使用和访问。
Silverlight for Windows Phone的项目类型
Silverlight for Windows Phone的开发中,MS为我们提供了丰富的项目模板,主要分为5类,启动Visual Studio 2010 Express for Windows Phone,新建一个项目,选择Visual C#下的Silverlight for Windows Phone,可以看到MS为我们提供的Windows Phone应用程序的项目模板,如图中红色部分显示:

Windows Phone上的第一个Silverlight应...

这5种模板分别如下:
1. Windows Phone Application(单页面项目模板)
此模板用于开发简单的单页面应用程序,只有一个页面,通过该页面就可以实现相应的功能,如下图:

Windows Phone上的第一个Silverlight应...

2. Windows Phone Databound Application(多页面项目模板)
如果单页面不能满足要求,则可以使用Windows Phone Databound Application模板,它与单页面模板的区别是提供了一个多页面访问的方式,在该页面中默认提供了一个类似List下拉列表的容器,通过点击List下拉列表中的项,可以导航到其他的功能页面,如下图:

Windows Phone上的第一个Silverlight应...

3. Windows Phone Class Library (公共类库的封装)
该类型的模板是用来封装一些公共的、公有的代码的,比如数据库连接,对数据的基本操作等,是一个类库文件,这类的文件的中的代码可以在多个页面中进行使用,而不限于某一个页面,这类文件经过少许的修改,也可以用在其他的项目中去,如下图:

Windows Phone上的第一个Silverlight应...

4. Windows Phone Panorama Application (全景视图控件项目模板)
一个全景视图可以分为多个部分,每个部分就相当于一个窗口,但他们不是独立的部分,是在一个页面上的,相当于同一个页面上不同的DIV下的内容模块,如下图:

Windows Phone上的第一个Silverlight应...

5.Windows Phone Pivot Appcation (中轴视图控件项目模板)
该模板主要有2个部分,但每次只有一个部分是活动的,每个部分中又可以使用多个控件在它里面,如下图:

Windows Phone上的第一个Silverlight应...

以上的所有模板都要符合Metro风格规范,所有项目模板与Windows Phone默认的“look and feel”兼容,为使用开发程序的有好的一致性,在我们开发项目的时候,要注意保持WP的UI规范 UI Design and Interaction Guide
项目模板生成的文件
建立一个项目后,会在项目目录下生成相应的文件,如下图:

Windows Phone上的第一个Silverlight应...

这些文件的作用分别是:
AppMainfest.xml :要打包部署发布的文件列表;
AssemblyInfo.cs :包含了一些元数据,应用程序的一些描述信息,如版本号、主题等;
WMAppMainfest.xml: 包含了Windows Phone的特殊属性列表(可以设定程序的启动页面);
AppMainfest.xml:和WMAppMainfest.xml不要手工修改;
References目录下的文件:应用程序依赖的类库
App.xaml:这个文件是管理应用程序的整个生命周期的,定义了程序的启动(Launching)、关闭(Closing)、激活(Activated)、失去激活(Deactivated)等一系统事件,在App.xaml.cs文件中,通过重载各个应用程序生命周期的函数来实现相应的功能。
ApplicationIcon.png 应用程序的图标
Background.png 背景图
MainPage.xaml 应用程序的启动页面
SplashScreenImage.jpg在程序第一个页面启动之前会显示的Page,目的是给用户一个好的体验,建议做成和应用程序第一个页面一样。
Silverlight控件
Sliverlight for Windows Phone提供了丰富的控件库,与现在版本的控件类似,便Sliverlight开发使用,并且有的控件还增加了一些新特性,如Textbox支持软件盘(Software Input Panel,SIP )等。同时还一个Silverlight for Windows Phone Toolkit,这是个控件更多、功能更强大的控件库,这是一个开源的自定义控件库,控件库介绍,下载控件库 。
Silverlight与XAML
XAML是Silverlight的重要组成部分,由于程序开发人员通常不是最好的UI设计师,所以引入XAML实现了程序逻辑与UI的分离,利用XAML用于定义用户可视化的UI,而代码用于定义程序的行为,这样就将UI设计人员和程序开发人员的工作分开,发挥各自的优势。虽然绝大部分UI功能都可以使用代码实现,但使用XAML更加简洁。
XAML可以理解为相当于html页面或aspx页面等,也aspx页面更像,也html页面的区别就是它有后台代码文件,是动态的,xaml页面可以通过设计器进行设计,是所见即所得的,可以用XamlPad这个工具直接进行编辑。
XAML命名空间
支持XML标准,它一个标准的xml,是xml的扩展,引入XAML命名空间的目的是为了防止名字冲突
xmlns:所有的默认的名字空间,如果控件前面没有前缀,就是默认的是这个名字空间的,如果有前缀,就是该前缀的名字空间下的。
Phone:在Microsoft.Phone.dll里面的,是为了提供一系列使用于Windows Phone上的控件
Shell:在Microsoft.Phone.dll里面的,是用来管理程序生命周期的
d:目的在于呈现设计时的数据
mc:用于设置布局的兼容性
自适应输入键盘
由于在移动设备上,没有足够的空间呈现完整的输入键盘,所以当我们在需要输入特定的字符类型时,就不要其他的键盘内容,比如在输入身份证号,手机号码,邮政编码,年龄等,就只需要输入数字即可,而不需要字母键,在这些情况下程序就需要处理输入键盘的呈现,实现在用户点击不同的控件时呈现出不同的输入键盘。实现方法是修改输入框的InputScope属性,代码如下:
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBox Height="72" Margin="56,63,57,472" Name="txtTest" Text="" Width="343">
<TextBox.InputScope>
<InputScope>
<InputScopeName NameValue="Digits">
</InputScopeName>
</InputScope>
</TextBox.InputScope>
</TextBox>
</Grid>
复制代码

Windows Phone上的第一个Silverlight应...

如上图中红色区域所示,MS为我们提供了多种键盘方式,可以要看需要自行选择。
Tags: 

延伸阅读

最新评论

发表评论