Windows Phone 7中用好Silverlight開發利器

來源:互聯網
上載者:User
序言

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> 

點擊“Degrees”TextBlock旁邊的那個 TextBox,然後點擊“Properties”,在“TextChanged”事件上雙擊,自動建立一個新的事 件:“textBox1_TextChanged”。為了把當前輸入的值轉換成“Fahrenheit”TextBlock旁邊的那個 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。

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

點擊“Clear”可以把攝氏溫度變成0,把華氏溫度變成32(等於攝氏0度)。如果你建立項目遇到了什麼麻煩,可以使用本文中的範例項目。


總結

在這篇文章中,我們可以看到,為 Windows Phone 建立一個簡單的 Silverlight應用程式是多麼的簡單。在以後的文章中,我會討論如何為 Windows Phone 7 建立一個基於XNA的應用程式。

(本文轉載自51cto,譯者周雪峰)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.