天天看點

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 中可以添加按鈕和菜單項,我們來看看簡單的實作代碼:

這個例子裡,ApplicationBar 包含了兩個按鈕和兩個菜單項。下面我們來看在WP8.1 中如何實作應用程式欄:

在Windows Store App 中,應用程式欄分為兩種,TopAppBar 和 BottomAppBar,分别用做頂部導航欄和底部指令欄。而在WP8.1 中隻有BottomAppBar,它起到的作用跟WP8 中的ApplicationBar是相同的。BottomAppBar 可以包含CommandBar, 而CommandBar 中可以使用兩種指令元素,主指令元素和輔助指令元素。這兩種元素在作用上類似于WP8 中的按鈕和菜單項。來看看代碼:

我們為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 中的新控件,謝謝大家。

繼續閱讀