四天玩轉windows phone開發視頻之第二天總結

來源:互聯網
上載者:User

(1)處理字串

 

(2)使用 DateTime

 

(3)理解和建立類

 這一節中主要講解如何建立一個類,如何執行個體化一個類,以及調用類的成員,這部分完全是C#中的內容。這部分內容對我來說已經比較悉了,所以沒什麼大的收穫。但我發現了一個快捷技術。這個被稱為code snippet plus auto implemented property技術,這樣可以很快捷的輸入代碼,大大提高了效率。

相關的內容可以參考這一篇博文:http://www.cnblogs.com/Xiaojiang/archive/2008/04/05/1138333.html 裡面詳細介紹了幾種快速鍵。

而這小節用到的就是prop這個來快速建立類的成員屬性,方法是:輸入prop,然後雙擊TAB鍵,就會出現:

 在游標沒有移開的情況下,可以按TAB來切換int 和MyProperty這兩塊代碼,是用來給你輸入自己想要建立的變數類型和變數名,等改完後,再雙擊Enter就可以切換到下一行繼續輸入。

(4)使用 .NET Framework 類庫中的類

 本節講的是如何使用.NET Framework 類庫中的類定義執行個體。個用執行個體不止是new一種,還有其它的方式,例如:IsolatedStorageSettings mySettings = IsolatedStorageSettings.ApplicationSettings;這是windows phone執行siliverlight應用程式時,CoreCLR建立IsolatedStorageSettings的一個執行個體,我們可以通過訪問其ApplicationSettings屬性,引用IsolatedStorageSettings對象。

對於如何區分和使用.NET Framework 類庫中的類,我們可以開啟msdn.micorsoft.com網站協助我們去解決問題。或者查網站,論壇,書籍和視頻。

事實證明,你編寫的代碼越多,就有越多的經驗可以借鑒。

事實上,我們拖一個控制項到設定介面上時,已經為這個控制項建立了一個執行個體。而在XAML上也同時建立了一個對應的代碼,就像XML或HTML。

我們建立一個按鈕時,可以用C#的new運算子,也可以在XAML代碼中建立。

(5)理解命名空間

 本節中主要介紹了命名空間,namespace既“命名空間”,也稱“名稱空間” VS.NET中的各種語言使用的一種程式碼群組織的形式 通過名稱空間來分類,區別不同的代碼功能 同時也是VS.NET中所有類的完全名稱的一部分。 我們在引用類的時候,必須在頭部把類所在的命名空間using進來,而引用這個類名,可以把命名字間也一起寫進入,一般都不寫。如果在使用類的時候沒有把相應的命名空間引用進來的話,進行時候就會報錯。例如:

sqlconnection

如果開頭沒有using相應的命名空間的話,就會有錯誤提示:

紅色的波浪線表示VS不能識別這個類,藍色的表示可以在庫中找到包含這個類的命名空間。這時只要按住Ctrl+. 就會出現:

再按斷行符號,它就會自動幫你添加命名空間,就可以正常使用啦。

(6)使用集合

 本節講述了如何建立對象的集合。

List<int> list = new List<int>();list.Add(2);list.Add(3);list.Add(7);foreach (int prime in list) // Loop through List with foreach{Console.WriteLine(prime);}for (int i = 0; i < list.Count; i++) // Loop through List with for{Console.WriteLine(list[i]);}

  ~~~ Output of the program ~~~

(Repeated twice)

2

3

7

相關用法,參考這篇博文:http://www.cnblogs.com/wangs/archive/2011/01/19/1939006.html

(7)對象和集合初始設定式

 本節講述了兩種方式給對象進行初始化,一種是在建立執行個體的時候給它賦值,另一種是建立對象集合的同時,給對象賦值。

如:

 

Car car1 = new Car() { Make = "日本", Model = "本田" };
Car car2 = new Car() { Make = "德國", Model = "豐田" };

List<Car> CarList=new List<Car>(){
new Car(){Make="日本",Model="本田"},
new Car(){Make="德國",Model="豐田"}
};
foreach (Car myCar in CarList)
{
myTextBlock.Text += myCar.Make + ":" + myCar.Model + Environment.NewLine ;
}

確實這樣在集合中建立的時候同時賦值,可以簡化很多代碼,使用集合,大大方便了批量輸出。

(8)在 XAML 設計器和代碼視窗中工作

 本節主要講解的是視窗中各個功能按鈕。然後講解如何在XAML視窗裡面用代碼來建立一個按鈕。也就是說,XAML跟可視化視窗的內容是同步的,在XAML裡面也可以通過寫代碼建立各種控制項,而且有時候寫代碼比拖控制項還要高效。

(9)理解 XAML 文法

 本節開始講解XAML的文法。XAML實質上就是為了UI設計人員來設的程式設計語言,專註於silverlight的設計與布局,就像XML,HTML一樣,把邏輯設計與UI設計分離開來。大多數人選擇Expression  Blend for Windows Phone 7 來開發,是因為其提供額外的工具各功能,可以更好的用於設定介面和增強戶體驗,而Visual Studio 2010 Express for Windows Phone 更多的是側重於編寫C#代碼。

 

<phone:PhoneApplicationPage     x:Class="PhoneApp4.MainPage"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"    FontFamily="{StaticResource PhoneFontFamilyNormal}"    FontSize="{StaticResource PhoneFontSizeNormal}"    Foreground="{StaticResource PhoneForegroundBrush}"    SupportedOrientations="Portrait" Orientation="Portrait"    shell:SystemTray.IsVisible="True">    <!--LayoutRoot 是放置所有頁面的根資料格-->    <Grid x:Name="LayoutRoot" Background="Transparent">        <Grid.RowDefinitions>            <RowDefinition Height="Auto"/>            <RowDefinition Height="*"/>        </Grid.RowDefinitions>        <!--TitlePanel 包含應用程式的名稱和頁面標題-->        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">            <TextBlock x:Name="ApplicationTitle" Text="我的應用程式" Style="{StaticResource PhoneTextNormalStyle}"/>            <TextBlock x:Name="PageTitle" Text="頁面名稱" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>        </StackPanel>        <!--ContentPanel - 其他內容置於此-->        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">            <Button Content="Button" Height="72" HorizontalAlignment="Left" Margin="134,48,0,0" Name="button1" VerticalAlignment="Top" Width="160" />        </Grid>    </Grid>     <!--顯示 ApplicationBar 使用方式的程式碼範例-->    <!--<phone:PhoneApplicationPage.ApplicationBar>        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="按鈕 1"/>            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="按鈕 2"/>            <shell:ApplicationBar.MenuItems>                <shell:ApplicationBarMenuItem Text="功能表項目 1"/>                <shell:ApplicationBarMenuItem Text="功能表項目 2"/>            </shell:ApplicationBar.MenuItems>        </shell:ApplicationBar>    </phone:PhoneApplicationPage.ApplicationBar>--></phone:PhoneApplicationPage>

<phone:PhoneApplicationPage

所有內容的開頭,且所有內容都包含在這裡面。PhoneApplicationPage屬於以phone為別名的命名空間

 

xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"

意思是:命名空間:phone是來自clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone的。所以上面所有帶有:的那些單詞實際上是在定義命名空間,就像C#中的Using一樣。

 

<!-- 代碼注釋 -->

這個是用來注釋的,像HTML一樣。

 

<!--LayoutRoot 是放置所有頁面的根資料格-->    

<Grid x:Name="LayoutRoot" Background="Transparent">

這裡的Grid是用於布局的的網格。

<!--TitlePanel 包含應用程式的名稱和頁面標題-->        

<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">

這個是對應於Grid第一行的Panel。就是容器

用Grid和panel是布局windows phone silverlight應用程式上的控制項和文本的主要技術

 

<!--TitlePanel 包含應用程式的名稱和頁面標題-->        

<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">            

<TextBlock x:Name="ApplicationTitle" Text="我的應用程式" Style="{StaticResource PhoneTextNormalStyle}"/>            

<TextBlock x:Name="PageTitle" Text="頁面名稱" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>        

</StackPanel>

可以看到StackPanel裡麵包有兩個TextBlock控制項。這個StackPanel通常用於定義應用程式的主題。

 

 <!--ContentPanel - 其他內容置於此-->        

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">            

<Button Content="Button" Height="72" HorizontalAlignment="Left" Margin="134,48,0,0" Name="button1" VerticalAlignment="Top" Width="160" />        

</Grid>

這裡主要用於放置定義程式主要功能的控制項內容。

 

 <!--顯示 ApplicationBar 使用方式的程式碼範例-->    

<!--<phone:PhoneApplicationPage.ApplicationBar>        

<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">            

<shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="按鈕 1"/>            

<shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="按鈕 2"/>            

<shell:ApplicationBar.MenuItems>                

<shell:ApplicationBarMenuItem Text="功能表項目 1"/>                

<shell:ApplicationBarMenuItem Text="功能表項目 2"/>            

</shell:ApplicationBar.MenuItems>        

</shell:ApplicationBar>    

</phone:PhoneApplicationPage.ApplicationBar>-->

而這段注釋掉的內容是用於以後擴充用的,用於定義功能表列之類的功能。 

(10)Silverlight 布局控制項

 本節介紹三個用於布局的控制項:Grid(網格),Canvas(畫布),StackPanel。

(11)處理 Silverlight 事件

 

(12)Silverlight 輸入控制項

 

(13)第二天家庭作業

 

(14)第二天家庭作業解決方案 - 第1部分

 

(15)第二天家庭作業解決方案 - 第2部分

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.