深入學習Windows Phone開發中ApplicationBar兩大類型用法
本文和大家重點學習一下Windows Phone開發中ApplicationBar用法,ApplicationBar就是所謂的菜單欄,它包括Iconbutton和Menu兩種類型。Iconbutton就相當于菜單欄里的工具欄,可以帶圖標;Menu就是菜單了,但是沒有二級菜單。
Windows Phone開發中ApplicationBar用法
對于WindowsPhone7程序來說,UI是用Sliverlight來開發的,但是并不完全是Sliverlight的全集,與子集的關系,因為Phone7上有的API或功能PC上是沒有的(比如這個applicationbar),那PC上的sliverlight就更不用說了。
ApplicationBar就是所謂的菜單欄,它包括Iconbutton和Menu兩種類型。Iconbutton就相當于菜單欄里的工具欄,可以帶圖標;Menu就是菜單了,但是沒有二級菜單。在創建之前一定要先在Reference里加入Microsoft.Phone.shell,并且在xaml頁面加上xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone.Shell".
一.IconBar
Windows Phone開發中要創建IconBar,就一定要有Icon,Phone7對Icon的要求比較嚴:大小一定是48X48相素的png圖,圖型居中,前景色一般為白色,大小為26X26.有了圖片就可以創建了,如果沒有也沒有關系,微軟給提供了一套圖標http://www.microsoft.com/downloads/details.aspx?familyid=369B20F7-9D30-4CFF-8A1B-F80901B2DA93&displaylang=en。
創建Iconbar:
- <navigation:PhoneApplicationPage.ApplicationBar>
- <shell:ApplicationBarIsVisibleshell:ApplicationBarIsVisible="True"IsMenuEnabled="True">>
- <shell:ApplicationBar.Buttons>
- <shell:ApplicationBarIconButtonx:Nameshell:ApplicationBarIconButtonx:Name="btnTest"Click="btnTest_Click"IconUri="appbar.add.rest.png">
- </shell:ApplicationBarIconButton>
- </shell:ApplicationBar.Buttons>
- </shell:ApplicationBar>
- </navigation:PhoneApplicationPage.ApplicationBar>
這樣就創建了一個Iconbar。但是一定要注意,Iconbar的數量是有限制的,最多只能加5個,并且第5個是顯示不出來的,也就是實際上只能最多加4個。
二.Menu
Windows Phone開發中創建Menu很簡單沒有什么限制。
- <navigation:PhoneApplicationPage.ApplicationBar>
- <shell:ApplicationBarIsVisibleshell:ApplicationBarIsVisible="True"IsMenuEnabled="True">>
- <shell:ApplicationBar.MenuItems>
- <shell:ApplicationBarMenuItemx:Nameshell:ApplicationBarMenuItemx:Name="mTest"Text="Text"Click="mTest_Click"></shell:ApplicationBarMenuItem>
- <shell:ApplicationBarMenuItemx:Nameshell:ApplicationBarMenuItemx:Name="mTes1"Text="Text"Click="mTest1_Click"></shell:ApplicationBarMenuItem>
- <shell:ApplicationBarMenuItemx:Nameshell:ApplicationBarMenuItemx:Name="mTest2"Text="Text"Click="mTest2_Click"></shell:ApplicationBarMenuItem>
- <shell:ApplicationBarMenuItemx:Nameshell:ApplicationBarMenuItemx:Name="mTest3"Text="Text"Click="mTest3_Click"></shell:ApplicationBarMenuItem>
- </shell:ApplicationBar.MenuItems>
- </shell:ApplicationBar>
- </navigation:PhoneApplicationPage.ApplicationBar>
另外,據說直接在程序中添加代碼也可以生成ApplicationBar,但是我沒有成功。還有就是目前的ApplicationBar還不是很穩定,有時在響應函數中寫完代碼后,會引起2214錯誤!希望微軟正式的SDK出來后可以有所改善。