Windows Phone开发(5)第一个SilverLight应用程序

第一, 创建新项目

  创建 Windows Phone Silverlight 应用程序的第一步是创建新项目。

  创建新项目的步骤

  1. 从 Windows“开始”菜单启动 Microsoft Visual Studio 2010。
  2. 通过选择“文件 | 新建项目”菜单命令来创建一个新项目。

  3. 将显示“新建项目”窗口。展开 Visual C# 模板,然后选择 Silverlight for Windows Phone 模板。

  4. 选择“Windows Phone 应用程序”模板。填写所需的项目“名称”

    Windows Phone开发(5)第一个SilverLight应用程序_第1张图片

  5. 单击“确定”。将显示 Windows Phone 平台选择窗口。为“目标 Windows Phone 版本”选择 Windows Phone 7.1

    Windows Phone开发(5)第一个SilverLight应用程序_第2张图片

  6. 单击“确定”。将创建一个新项目并在 Visual Studio 设计器窗口中打开 MainPage.xaml

第二,页面布局

  下一步是使用 Visual Studio 设计器对应用程序的控件进行布置。添加控件之后,最终布局将类似于以下屏幕截图。  

     Windows Phone开发(5)第一个SilverLight应用程序_第3张图片

  页面布局的XAML代码如下:  

View Code
 1 <phone:PhoneApplicationPage 
 2     x:Class="MyMiniBroswer.MainPage"
 3     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 4     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 5     xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
 6     xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
 7     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 8     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 9     mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
10     FontFamily="{StaticResource PhoneFontFamilyNormal}"
11     FontSize="{StaticResource PhoneFontSizeNormal}"
12     Foreground="{StaticResource PhoneForegroundBrush}"
13     SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
14     shell:SystemTray.IsVisible="True">
15 
16     <!--LayoutRoot 是包含所有页面内容的根网格-->
17     <Grid x:Name="LayoutRoot" Background="Transparent">
18         <Grid.RowDefinitions>
19             <RowDefinition Height="Auto"/>
20             <RowDefinition Height="*"/>
21         </Grid.RowDefinitions>
22 
23         <!--TitlePanel 包含应用程序的名称和页标题-->
24         <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
25             <TextBlock x:Name="ApplicationTitle" Text="我的应用程序" Style="{StaticResource PhoneTextNormalStyle}"/>
26             <TextBlock x:Name="PageTitle" Text="我的浏览器" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
27         </StackPanel>
28 
29         <!--ContentPanel - 在此处放置其他内容-->
30         <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0" Height="607" VerticalAlignment="Bottom">
31             <Button Content="Go" HorizontalAlignment="Right" Margin="0,40,0,0" Name="btnGo" VerticalAlignment="Top" Click="btnGo_Click" />
32             <phone:WebBrowser HorizontalAlignment="Stretch" Margin="0,132,0,0" Name="webBrowser1" VerticalAlignment="Stretch" />
33             <TextBox HorizontalAlignment="Stretch" Margin="6,38,89,0" Name="txtUrl" Text="Http://www.xbox.com" VerticalAlignment="Top" />
34         </Grid>
35     </Grid>
36  
37     <!--演示 ApplicationBar 用法的示例代码-->
38     <!--<phone:PhoneApplicationPage.ApplicationBar>
39         <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
40             <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="按钮 1"/>
41             <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="按钮 2"/>
42             <shell:ApplicationBar.MenuItems>
43                 <shell:ApplicationBarMenuItem Text="菜单项 1"/>
44                 <shell:ApplicationBarMenuItem Text="菜单项 2"/>
45             </shell:ApplicationBar.MenuItems>
46         </shell:ApplicationBar>
47     </phone:PhoneApplicationPage.ApplicationBar>-->
48 
49 </phone:PhoneApplicationPage>

需要注意的是:<phone:PhoneApplicationPage 的SupportedOrientations="PortraitOrLandscape"属性是为了支持水平和垂直两个方向的显示,TextBox控件和WebBrowser控件设置的 HorizontalAlignment="Stretch" 和VerticalAlignment="Stretch" 属性,这些设置允许控件在横向和纵向模式下正确地自行调整其位置。

第三,添加后天代码
  该步骤将添加用来实现“Go”按钮的代码。双击已添加的“Go”按钮控件以添加按钮单击事件的事件处理程序。代码如下

View Code
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Net;
 5 using System.Windows;
 6 using System.Windows.Controls;
 7 using System.Windows.Documents;
 8 using System.Windows.Input;
 9 using System.Windows.Media;
10 using System.Windows.Media.Animation;
11 using System.Windows.Shapes;
12 using Microsoft.Phone.Controls;
13 
14 namespace MyMiniBroswer
15 {
16     public partial class MainPage : PhoneApplicationPage
17     {
18         // 构造函数
19         public MainPage()
20         {
21             InitializeComponent();
22         }
23 
24         /// <summary>
25         /// btnGo的单击事件处理函数
26         /// 该代码将获取在文本框中输入的 URL 并导航到 webBrowser1 控件中的该页面。
27         /// </summary>
28         /// <param name="sender"></param>
29         /// <param name="e"></param>
30         private void btnGo_Click(object sender, RoutedEventArgs e)
31         {
32             string url = txtUrl.Text;
33             webBrowser1.Navigate(new Uri(url, UriKind.Absolute));
34         }
35     }
36 }


第四,调试

  首先选择部署目标,如果没有真机的话,在标准工具栏上,将应用程序的部署目标设置为“Windows Phone 模拟器”。  

  

  点调试按钮或者按F5启动调试。如果你和我的机器的CPU和内存配置不高的话,可能要等的时间会比较长。

  应用程序最终效果如下图:  

       Windows Phone开发(5)第一个SilverLight应用程序_第4张图片      Windows Phone开发(5)第一个SilverLight应用程序_第5张图片

  

你可能感兴趣的:(windows,phone)