深入學(xué)習(xí)Windows Phone開發(fā)中ApplicationBar兩大類型用法
本文和大家重點(diǎn)學(xué)習(xí)一下Windows Phone開發(fā)中ApplicationBar用法,ApplicationBar就是所謂的菜單欄,它包括Iconbutton和Menu兩種類型。Iconbutton就相當(dāng)于菜單欄里的工具欄,可以帶圖標(biāo);Menu就是菜單了,但是沒(méi)有二級(jí)菜單。
Windows Phone開發(fā)中ApplicationBar用法
對(duì)于WindowsPhone7程序來(lái)說(shuō),UI是用Sliverlight來(lái)開發(fā)的,但是并不完全是Sliverlight的全集,與子集的關(guān)系,因?yàn)镻hone7上有的API或功能PC上是沒(méi)有的(比如這個(gè)applicationbar),那PC上的sliverlight就更不用說(shuō)了。
ApplicationBar就是所謂的菜單欄,它包括Iconbutton和Menu兩種類型。Iconbutton就相當(dāng)于菜單欄里的工具欄,可以帶圖標(biāo);Menu就是菜單了,但是沒(méi)有二級(jí)菜單。在創(chuàng)建之前一定要先在Reference里加入Microsoft.Phone.shell,并且在xaml頁(yè)面加上xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone.Shell".
一.IconBar
Windows Phone開發(fā)中要?jiǎng)?chuàng)建IconBar,就一定要有Icon,Phone7對(duì)Icon的要求比較嚴(yán):大小一定是48X48相素的png圖,圖型居中,前景色一般為白色,大小為26X26.有了圖片就可以創(chuàng)建了,如果沒(méi)有也沒(méi)有關(guān)系,微軟給提供了一套圖標(biāo)http://www.microsoft.com/downloads/details.aspx?familyid=369B20F7-9D30-4CFF-8A1B-F80901B2DA93&displaylang=en。
創(chuàng)建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>
這樣就創(chuàng)建了一個(gè)Iconbar。但是一定要注意,Iconbar的數(shù)量是有限制的,最多只能加5個(gè),并且第5個(gè)是顯示不出來(lái)的,也就是實(shí)際上只能最多加4個(gè)。
二.Menu
Windows Phone開發(fā)中創(chuàng)建Menu很簡(jiǎn)單沒(méi)有什么限制。
- <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>
另外,據(jù)說(shuō)直接在程序中添加代碼也可以生成ApplicationBar,但是我沒(méi)有成功。還有就是目前的ApplicationBar還不是很穩(wěn)定,有時(shí)在響應(yīng)函數(shù)中寫完代碼后,會(huì)引起2214錯(cuò)誤!希望微軟正式的SDK出來(lái)后可以有所改善。