Windows Phone7天初学(1):熟悉开发环境

< body>
一周时间初步学习Windows Phone,假设您已有Silverlight、C#语言等相关基础,在7天中天天最后有一个带源码的案例学习,最后一天是一个综合性的大型案例。  
1、    开发环境搭建
  相应的开发工具可经过windows phone开发者主页: http://developer.windowsphone.com 找到相应的软件,或直接到如下地址下载:
  Windows Phone Developer Tools RTW 下载地址:
单击下载连接,vm_web.exe,下载后运行,在线安装,运行(离线安装也可,需下载ISO文件),将自动安装如下相关软件:
The Windows Phone Developer Tools includes the following
1) Visual Studio 2010 Express for Windows Phone
2) Windows Phone Emulator Resources
3) Silverlight 4 Tools For Visual Studio
4) XNA Game Studio 4.0
5) Microsoft Expression Blend for Windows Phone
Windows Phone Developer Tools January 2011 Update :(模拟器等更新)
 
2、 项目模板及文件介绍
Windows Phone 包含如下类型的项目:
1)     Windows Phone Application: 单页面应用程序
2)     Windows Phone Databound Application ,多页面应用程序
3)     Windows Phone Class Library, 类库
4)  Windows Phone Panorama Applicaion ,使用全景控件的应用程序
5)Windows Phone Prvot Application ,使用中轴控件应用程序。
Windows Phone Application项目模板为例,了解一下程序结构,查看解决方案资源管理器,如图1-1
1-1
包含的主要文件有:
App.xaml :这个文件和ASP.NET中的web.config文件很类似。定义应用程序级的资源、数据和设置等,其中含标记:
  < Application.Resources >
………………….
    </ Application.Resources >
在其代码文件App.xaml.cs中还包含了 Application_Launching Application_ActivatedApplication_DeactivatedApplication_Closing 等事件处理。
 
AppManifest.xml :生成应用程序安装包(XAP)所需的一个简单的应用程序清单文件。
WMAppManifest.xml : 包含了应用程序特定数据的元数据文件,包括标题,图标位置,功能等等
AssemblyInfo.cs : 包含了名称和版本的元数据,会被嵌入到生成的程序集文件中。
Background.png : 当程序被显示到开始界面中就会显示这个图像。MainPage.xaml :程序首页面。
SplashScreenImage.jpg : 应用程序载入时显示的图片。
ApplicationIcon.png :程序特定的图标,用户会在他们的程序中将看到此图标。
  3、一些学习资源
MSDN手机开发:
http://msdn.microsoft.com/zh-cn/ff380145
http://msdn.microsoft.com/zh-cn/windowsphone/default.aspx?ocid=ban-f-cn-wp7--MSDN
51CTO Windows Phone专题:http://mobile.51cto.com/mobile-219051.htm
台湾MSDN:http://msdn.microsoft.com/zh-tw/windowsphone/ff955788
Silverlight for WP7视频: http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/Series/WP.aspx
WP7书籍:
http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dstripbooks&field-keywords=Phone+7
< body>  

案例1-1:完成一个经典的“Hello”应用程序
完成一个经典的“Hello”应用程序 ,建立一个针对Windows PhoneSilverlight的应用程序,学习如何使用相应开发工具来建立和设计Windows phone应用程序,并在Windows Phone Emulator上去部署。
(1) 启动Visual Studio 2010,在项目对话框中,选择模板“Silverlight for Windows Phone”,建立“Windows Phone Application
(2) 在资源管理器中,可看到解决方案MyHello中项目,及文件结构。如图1-2
         1-2
MainPage.xaml 为程序的起始页面,默认界面xaml代码以下:
<Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <!--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="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="page name" 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"></Grid>
    </Grid>
页面分红了二个部分,Grid容器中含有StackPanelGrid控件,其中StackPanel中为程序标题信息。自动生成两个TextBlock,一个显示”MY APPLICATION”,这是应用程序的名称;另外一个显示page name“,这是当前页的标题。可修改这些显示,使之反映本身的实际程序,先将当前页的标题名称”page name”改成”Hello”,暂时不做任何改动。
(3) 选择模拟器输出方式:Windows Phone 7 Emulator
(4) ”F6”编译程序,将建立模拟器,并在模拟器窗口中显示程序的启动页面,应该是没有任何错误。
(5) ”F5” 运行程序,将建立模拟器显示应用程序,第一次启动,时间要长些。效果如图1-3
1-3
(6) ”SHIFT+F5”结束运行,模拟器最好不要关闭,那么部署新应用程序来进行测试时,模拟器会更快地响应。
(7) 设计用户界面,打开工具箱直接拖动控件便可。添加一个textblock、一个textbox、 及一个button控件,xaml标记以下,已直接添加注解:
< Grid x : Name ="LayoutRoot" Background ="Transparent" ShowGridLines ="True">
        < Grid.RowDefinitions >
            < RowDefinition Height ="Auto"/>
            < RowDefinition Height ="Auto" />// 增长一行
            < RowDefinition Height ="*"/>
        </ Grid.RowDefinitions >
<!--  第一行为标题  -->
< StackPanel x : Name ="TitlePanel" Grid.Row ="0" Margin ="12,17,0,28">
< TextBlock x : Name ="ApplicationTitle" Text ="MY APPLICATION" Style ="{ StaticResource PhoneTextNormalStyle }"/>
  < TextBlock x : Name ="PageTitle" Text ="Hello" Margin ="9,-7,0,0" Style ="{ StaticResource PhoneTextTitle1Style }"/>       
        </ StackPanel >
 
  <!— 第二行,定义为两列,放置两个控件,第1列宽度设置为”*”,尽量伸展宽度,第2列宽度设置为”Auto”根据控件的宽度而调整 -->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Grid.ColumnDefinitions >
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
      <TextBox Grid.Column="0"  Name="textBox1" Text="" Margin="20" ontSize="{StaticResource PhoneFontSizeExtraLarge}"  />// FontSize 属性值读取资源
            <Button Content=" 点击" HorizontalAlignment="Right" Grid.Column="1"  Name="button1" Margin="20" Padding="8" Click="button1_Click" />
        </Grid>
  <!— 增长第三行,显示用户输入, HorizontalAlignment为伸展Stretch  -->
       <Grid Grid.Row="2"   Name="grid1" VerticalAlignment="Top" >
            <TextBlock   Name="textBlock1" Text="" Style="{StaticResource PhoneTextExtraLargeStyle}" HorizontalAlignment="Stretch" Foreground="Red" TextWrapping="NoWrap" TextAlignment="Center" FontWeight="Bold" />
        </Grid>
        </ Grid >
</ Grid >
 
(8) 双击命令按钮,建立事件处理函数,在代码隐藏文件中对应的单击事件处理程序中插入代码,以下所示:
private void button1_Click(object sender, RoutedEventArgs e)
        {
            textBlock1.Text = textBox1.Text;
            textBox1.Text = String.Empty;
        }
 
9)按F5键运行程序,在文本框中输入后,单击 “单击我”按钮,将会在第二个TextBlock显示输入的内容。显示效果如图1-4
1-4
10)如需调试应用程序,切换到Visual Studio,将光标定位到下面这一行:
            textBlock1.Text = textBox1.Text;
F9或单击该行左边,插入断点,会看到页边显示一个红点。
11F5运行后,Visual Studio会中止于断点行,这时可查看相应的变量值等,可进一步调试程序。
 
7天学习主要参考资料以下,并特此鸣谢!
1.  WP7TrainingKitOffline
2.  林永坚.Silverlight for Windows Phone 开发系列
3.  张崟.Windows Phone 7 开发 31 日谈
4.  306ROOM( 网名).一块儿学windows phone7
相关文章
相关标签/搜索