四天玩转windows phone开发视频之第二天总结

(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部分

原文地址:https://www.cnblogs.com/wangchunming/p/2270754.html