zoukankan      html  css  js  c++  java
  • 我的windowsPhone学习(1)

    现在微软公司的windowsPhone市场份额在逐渐上升了,很高兴,今后这个平台可以与苹果的IOS和谷歌的安卓竞争了,所谓“三国”,自己也买了一部windowsPhone7.5 OS的手机 感觉很棒 以前初识windowsPhone没有真机 现在有了 可以学学这个平台上应用程序的统一规范 希望自己也早日学完windowsPhone的必要知识 也希望自己早日开发出属于自己的应用。

    页面

    上图简单介绍了页面的组成,

    (PhoneApplicationFrame):一个程序中只能有一个Frame,也是最基础的容器,被才称为所有页面的容器,为SystemTray(上面的信号和电池标记)和ApplicationBar(下面的菜单栏)预留了空间

    (PhoneApplicationPage):显示格子页面的ApplicationBar 是否显示ApplicationBar室友Page来决定的,也是放置页面内容的容器

    核心元素包括一个称为 PhoneApplicationFrame 的顶级容器控件,该控件可托管 PhoneApplicationPage

    特别注意:开发应用程序时必须使用 PhoneApplicationFrame 和 PhoneApplicationPage 类型,而不能使用标准的 Silverlight 框架和页面类型

    扩展:

    PhoneApplicationFrame这个类在Microsoft.Phone.Controls命名空间下的,该命名空间下面有多达16个类和两个枚举类型,

     转向:

    SupportedOrientations="Portrait" Orientation="Portrait",默认是Portrait的显示,SupportedOrientations的属性默认是Portrait的 就是说不能够进行横向只支持竖向,

    如果要支持横竖向,那把该属性值改为PortraitOrLandscape即可。

       shell:SystemTray.IsVisible="True"//是否显示信号和电池
        Loaded="PhoneApplicationPage_Loaded"//加载事件

    大家注意到没有,如果要横向转动,那么竖向的一些信息就显示到下面去了,这样给用户带来非常不好的体验,

    所有需要到后台写一个委托事件,OnOrientationChanged这个委托事件就可以在里面修改布局 让用户有非常不错的体验

    跳转:

     this.NavigationService.Navigate(new Uri("/PhoneTask.xaml", UriKind.Relative)); 注意后面的必须是相对路径

     跳转到PhoneTask页面后 如果我又要跳回来 就是用GoBack()这个方法,注意在没有跳转到新页之前是不能使用GoBack()这个方法的,因为没有在规定的队列中,这样会报错,

    传值:

    this.NavigationService.Navigate(new Uri("/PhoneTask.xaml?name=aaa", UriKind.Relative));

     在另外一页接收值的时候注意:要对该值进行判断是否传进来了

    if(this.NavigationContext.QueryString.ContainsKsy("name"))

     {

        this.textbox1.text=this.NavigationContext.QueryString["name"];

    }

    ApplicationBar

    其实ApplicationBar就是菜单栏, 默认创建的工程页面是把它注释掉的

     1     <phone:PhoneApplicationPage.ApplicationBar>
     2         <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
     3             <shell:ApplicationBarIconButton Click="ApplicationBarIconButton_Click" IconUri="/Images/appbar_button1.png" Text="按鈕 1"/>
     4             <shell:ApplicationBarIconButton Click="ApplicationBarIconButton_Click_1" IconUri="/Images/appbar_button2.png" Text="按鈕 2"/>
     5             <shell:ApplicationBar.MenuItems>
     6                 <shell:ApplicationBarMenuItem Text="功能表項目 1" Click="ApplicationBarMenuItem_Click"/>
     7                 <shell:ApplicationBarMenuItem Text="功能表項目 2" Click="ApplicationBarMenuItem_Click_1"/>
     8             </shell:ApplicationBar.MenuItems>
     9         </shell:ApplicationBar>
    10     </phone:PhoneApplicationPage.ApplicationBar>

    需要注意的是ApplicationBarIconButton中的图片有严格的规定的,必须是48*48象素的png图,而且前景色一般是白色的,一个页面最多只能显示4个ApplicationBarIconButton,Icon图片属性 Build Action设置为Content,还有Copy to Output Directory设置为Copy if new或Copy Always吧,另外,ApplicationBarMenuItem是没有二级菜单的。

  • 相关阅读:
    对我影响最大的三位导师
    global与nonlocal
    random模块
    time模块
    datetime模块
    sys模块
    os模块
    collection模块
    hashlib模块
    pickle模块
  • 原文地址:https://www.cnblogs.com/JunXiao/p/2470704.html
Copyright © 2011-2022 走看看