zoukankan      html  css  js  c++  java
  • 四天玩转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部分

  • 相关阅读:
    编译使用tinyxml
    GitLab 项目创建后地址由Localhost改为实际IP的方法
    树莓派相机设定
    MongoDB的数据备份与恢复
    Nginx PHP fpm forbidden 原因
    PSR2规范
    docker 日志管理
    Docker 拷贝文件
    Docker MySQL基本操作
    deepin安装php5.6
  • 原文地址:https://www.cnblogs.com/wangchunming/p/2270754.html
Copyright © 2011-2022 走看看