Windows Phone 7中用好Silverlight開發利器

來源: 51CTO  發布時間: 2010-12-26 21:49  閱讀: 662 次  推薦: 0   原文鏈接   [收藏]  
摘要:Windows Phone的架構可以讓開發者選擇兩種不同的框架來創建Windows Phone應用程序/游戲的時候。在這篇文章中,我們主要關注使用Silverlight框架來創建Windows Phone應用程序。

  除了Windows Phone 7的UI可以用Silverlight框架來設計,還可以用Silverlight創建Windows Phone 7的應用程序。本文為一個國外.NET平臺開發者為Windows Phone 7創建的Silverlight應用程序。

  以下為譯文:

  序言

  Windows Phone 7 現在已經開始銷售了,一些激進的開發者已經在使用一些開發者工具創建新一代的Angry Birds或 Netflix 應用程序了。就像我們在過去的文章中提到的那樣,為了方便開發者創建 Windows Phone 應用程序,微軟提供了一套免費的開發者工具。Windows Phone的架構可以讓開發者選擇兩種不同的框架來創建 Windows Phone 應用程序/游戲的時候。在這篇文章中,我們主要關注使用 Silverlight 框架來創建 Windows Phone 應用程序。

  為什么要使用Silverlight?

  我們不禁要問:為什么要使用Silverlight框架來創建 Windows Phone 應用程序呢?

  Silverlight(大家通常認為Silverlight是Flash的直接競爭對手)可以讓Web開發者們創建富互聯網應用程序。對于那些需要良好的應用程序邏輯或實用性的程序來說,你肯定更喜歡使用Silverlight。

  Microsoft Visual Studio中的Silverlight項目入門

  在你安裝了 Windows Phone 開發者工具以后,你可以直接運行Visual Studio Express for Windows Phone。或者,如果你已經安裝了 Visual Studio 2010 Pro SKUs,你可以運行 Visual Studio 2010 Pro SKUs,然后選擇 File -> New -> Project,然后再從模板類型中選擇 Silverlight for Windows Phone 7。


圖1 選擇Silverlight for Windows Phone 7

  這是一些你需要了解的模板。根據具體的應用程序類型,你可以選擇最合適的模板。

  對于我們的Demo來說,我們會選擇基礎的Windows Phone Application模板。把我們的項目命名成WindowsPhoneApplicationDemo,然后按Enter鍵來創建這個項目。

  如果我們按了Enter鍵,IDE(Integrated development environment)會進行一系列操作,并且創建一大推文件Appl.xaml, MainPage.xaml 和其他圖像文件 ApplicationIcon.png, Background.png 和 SplashScreenImage.jpg 。

  讓我們看看這些文件都是什么:

  為了看到設計器視圖,可以在 MainPage.xaml 上右擊,然后點擊View Designer(如果設計器還不可用的話)。這是設計器的外觀,以及后臺代碼:


圖2 設計器視圖

  對于我們的應用程序來說,我們打算創建一個簡單的計算器,它可以讓用戶在攝氏溫度和華氏溫度之間進行轉換。要開始這個工作,可以按Ctrl + Alt + X,彈出ControlBox,然后把兩個TextBlock控件,兩個TextBox控件,和一個Button控件拖放到設計器上,如下圖所示:


圖3 彈出的相應控件

  現在,讓我們開始定制我們的應用程序。

  在 MainPage.xaml.cs 中找到下面這個代碼段,然后把ApplicationTitle的Text屬性改成My cool convertor,把PageTitle的Text屬性改成Let's rock WP7。

 
1. <!--TitlePanel contains the name of the application and page title-->
2. <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
3. <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
4. <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
5. </StackPanel>
6.
7. Also change the following snippet in MainPage.xaml.cs as highlighted.
8. <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
9. <TextBlock Height="30" HorizontalAlignment="Left" Margin="29,71,0,0" Name="textBlock1" Text="Degrees" VerticalAlignment="Top" />
10. <TextBox Height="72" HorizontalAlignment="Left" Margin="162,54,0,0" Name="textBox1" Text="0" VerticalAlignment="Top" Width="245"></TextBox>
11. <TextBlock Height="30" HorizontalAlignment="Left" Margin="29,177,0,0" Name="textBlock2" Text="Fahrenheit" VerticalAlignment="Top" />
12. <TextBox Height="72" HorizontalAlignment="Left" Margin="162,162,0,0" Name="textBox2" Text="0" VerticalAlignment="Top" Width="245" />
13. <Button Content="Clear" Height="72" HorizontalAlignment="Left" Margin="139,320,0,0" Name="button1" VerticalAlignment="Top" Width="160" />
14. </Grid>

  點擊DegreesTextBlock旁邊的那個 TextBox,然后點擊Properties,在TextChanged事件上雙擊,自動創建一個新的事件:textBox1_TextChanged。為了把當前輸入的值轉換成FahrenheitTextBlock旁邊的那個 TextBox 中的華氏溫度,這是應該添加的代碼:

 
1. private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
2. {
3. if (int.TryParse(textBox1.Text, out degrees))
4. {
5. fahrenheit = 9 / 5.0 * degrees + 32;
6. textBox2.Text = fahrenheit.ToString();
7. }
8. else
9. textBox1.Text = "0";
10.
11. }

  可以通過點擊Build菜單,然后選擇Build Solution來編譯這個應用程序。修復你遇到的所有語法錯誤。按F5開始調試。這里有一件事情需要注意:你第一次啟動調試會話的時候,會比較慢。這是因為 Windows Phone 模擬器正在載入。我們的建議是,當你調試完畢以后,不要關閉那個模擬器。而不是當你完成調試會話的時候,點擊 Debug->Stop Debugging。這可以確保你以后載入調試會話的時候會更快一些。當你啟動調試器的時候,你會發現你的應用程序已經顯示在模擬器上了。

  要開始輸入攝氏溫度,可以點擊Degrees旁邊的那個 TextBox。

  當你開始輸入的時候,你會發現FahrenheitTextBlock旁邊的那個 TextBox會自動地更新,這很像Google的自動提示功能。

  點擊Clear可以把攝氏溫度變成0,把華氏溫度變成32(等于攝氏0度)。如果你創建項目遇到了什么麻煩,可以使用本文中的樣例項目。

  總結

  在這篇文章中,我們可以看到,為 Windows Phone 創建一個簡單的 Silverlight應用程序是多么的簡單。在以后的文章中,我會討論如何為 Windows Phone 7 創建一個基于XNA的應用程序。

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()