Windows Phone 8.1 新特性 - 控件之应用程序栏
2014年4月3日的微軟Build 2014 大會上,Windows Phone 8.1 正式發布。相較于Windows Phone 8,不論從用戶還是開發者的角度,都產生了很大的變化。接下來我們會用幾篇文章來了解一下這些變化給開發者帶來的影響,以及我們如何更好的利用WP8.1 的新特性。
WP8.1 最大的變化就是與Windows Store App 的結合,我們把它們統稱為Windows RunTime apps。WP8.1 中的控件位于Windows.UI.XAML.Controls 命名空間下,這和Windows Store App是一致的。
本篇我們先來介紹第一個 WP8.1 的新控件:應用程序欄
應用程序欄想必大家都不陌生,它在WP8 中有很重要的應用,我們也把它叫做ApplicationBar。ApplicationBar 中可以添加按鈕和菜單項,我們來看看簡單的實現代碼:
<phone:PhoneApplicationPage.ApplicationBar><shell:ApplicationBar><shell:ApplicationBar.Buttons><shell:ApplicationBarIconButton Text="Btn1" IconUri="***.png"/><shell:ApplicationBarIconButton Text="Btn2" IconUri="***.png"></shell:ApplicationBar.Buttons><shell:ApplicationBar.MenuItems><shell:ApplicationBarMenuItem Text="Menu Item 1"/><shell:ApplicationBarMenuItem Text="Menu Item 2"/></shell:ApplicationBar.MenuItems></shell:ApplicationBar></phone:PhoneApplicationPage.ApplicationBar>這個例子里,ApplicationBar 包含了兩個按鈕和兩個菜單項。下面我們來看在WP8.1 中如何實現應用程序欄:
在Windows Store App 中,應用程序欄分為兩種,TopAppBar 和 BottomAppBar,分別用做頂部導航欄和底部命令欄。而在WP8.1 中只有BottomAppBar,它起到的作用跟WP8 中的ApplicationBar是相同的。BottomAppBar 可以包含CommandBar, 而CommandBar 中可以使用兩種命令元素,主命令元素和輔助命令元素。這兩種元素在作用上類似于WP8 中的按鈕和菜單項。來看看代碼:
<Page.BottomAppBar><CommandBar IsSticky="True"><CommandBar.PrimaryCommands><AppBarButton Icon="ZoomOut" IsCompact="False" Label="ZoomOut"/><AppBarButton IsCompact="True"><AppBarButton.Icon><PathIcon Data="F1 M 20, 10L 10,30L 30,30"/></AppBarButton.Icon></AppBarButton><AppBarButton IsCompact="True"><AppBarButton.Icon><BitmapIcon UriSource="Assets/setting.png"/></AppBarButton.Icon></AppBarButton><AppBarToggleButton IsCompact="False" Label="Omega" IsChecked="True"><AppBarToggleButton.Icon><FontIcon FontFamily="Candara" Glyph="Ω"/></AppBarToggleButton.Icon></AppBarToggleButton></CommandBar.PrimaryCommands><CommandBar.SecondaryCommands><AppBarButton Label="Test01"/><AppBarButton Label="Test02"/></CommandBar.SecondaryCommands></CommandBar></Page.BottomAppBar>我們為CommandBar定義了兩種集合元素,PrimaryCommands 和 SecondaryCommands,集合中的元素可以是AppBarButton 或 AppBarToggleButton。
來看看AppBarButton中幾個重要的屬性:
??? * Icon:用于顯示應用程序欄按鈕的圖形內容。它有幾種表現方式:
- SymbolIcon - 基于Segoe UI Symbol 字體的字型預定義列表
- FontIcon - 基于指定字體系列的字型
- BitmapIcon - 基于指定Uri的位圖圖像文件
- PathIcon - 基于路徑數據
??? * Label:程序欄上顯示的文字說明
??? * IsCompact:布爾值,指示是否顯示不帶標簽且邊距已縮小的按鈕
再來看看AppBarToggleButton, 它與AppBarButton 的不同在于他可以有選中狀態:
??? * IsChecked - 布爾值,選中為True,未選中為False,否則為null。默認為False。
我們在示例中對這幾種屬性做了演示,PrimaryCommands 中的四個按鈕分別采用了四種表現方式,另外結合了Label、IsChecked 和?IsCompact 的屬性區別。其中SecondaryCommands 中使用Label 屬性來顯示信息(而且字母不會像WP8 那樣被轉換為小寫字母)。Icon 和 IsCompact 屬性并沒有體現。來看看運行效果圖:
這樣我們就把Windows Phone 8.1 中的應用程序欄的變化演示完了。總體來說新的應用程序欄給我們帶來了更多的可選擇性和便利,按鈕可以有多種表現方式,而不是單一的圖片方式;按鈕可選擇是否顯示文字標簽,等等。接下來的幾篇我會繼續介紹Windows Phone 8.1 中的新控件,謝謝大家。
?
總結
以上是生活随笔為你收集整理的Windows Phone 8.1 新特性 - 控件之应用程序栏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javascript获取表单值的7种方式
- 下一篇: StarkSoft题库管理系统(二)--