您的位置:首页 > 其它

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

2011-12-02 19:02 417 查看
(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

相关用法,参考这篇博文:/article/6242944.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部分
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: