ApplicationBar

【轉自:http://www.cnblogs.com/xingfuzzhd/archive/2011/11/22/2259130.html

一個應用程序的菜單欄的內容是有限的,最多不超過4個,排列順序是以菜單欄中間爲中心,然後從左往右排列。

WP7提供了兩種類型的菜單欄,一種是全局的菜單欄,也就是說在所有的頁面中都會出現的,而另一種就是局部的菜單欄,就是在某個頁面纔出現的。全局的菜單欄必須在App.xaml文件中定義,它會以一行簡單的XAML代碼加到任何一個頁面中。對於局部菜單欄的定義,我們有兩種方法,第一種是使用XMAL,第二種是直接在代碼裏面定義。

菜單欄上的icon限制最大爲48x48像素,所以我們不能超過這個值,否則會失真,因爲它會自動拉申的,WP7已經在系統裏提供了挺多的icon了,所以我們最好是使用系統默認的,因爲我們使用其他的icon,可能會出現一些不可預料的問題,可能而已,哈哈。先使用xaml來實現。

 

設置全局菜單欄:

新建一個silverlight項目,然後在項目右邊,右鍵點擊項目名選擇Add,接着選擇New folder,命名爲Images,我們要將我們需要顯示的icon放入到Images文件夾裏面,系統裏的icon是放在C:\Program Files \Microsoft SDKs\Windows Phone\v7.1\Icons\dark,你也可以上網自己下載的。

打開App.xaml文件,在裏面輸入如下代碼:

<!--Application Resources-->
    <Application.Resources>
        <shell:ApplicationBar x:Key="GlobalAppMenuBar" Opacity="1" IsVisible="True"
                              IsMenuEnabled="True">
            <shell:ApplicationBar.Buttons>
                <shell:ApplicationBarIconButton IconUri="/Images/appbar.add.rest.png"
                                                Text="add"></shell:ApplicationBarIconButton>
                <shell:ApplicationBarIconButton IconUri="/Images/appbar.save.rest.png"
                                                Text="save"></shell:ApplicationBarIconButton>
                <shell:ApplicationBarIconButton IconUri="/Images/appbar.delete.rest.png"
                                                Text="delete"></shell:ApplicationBarIconButton>
            </shell:ApplicationBar.Buttons>
            <shell:ApplicationBar.MenuItems>
                <shell:ApplicationBarMenuItem Text="Menu Item1" IsEnabled="True"></shell:ApplicationBarMenuItem>
                <shell:ApplicationBarMenuItem Text="Menu Item2" IsEnabled="True"></shell:ApplicationBarMenuItem>
            </shell:ApplicationBar.MenuItems>
        </shell:ApplicationBar>
    </Application.Resources>

打開MainPage.xaml文件,在<phone:PhoneApplicationPage> 輸入以下這行代碼,

ApplicationBar="{StaticResource GlobalAppMenuBar}" 

此時運行一下項目發現那三個icon都是交叉的那三個圖標,這是爲什麼呢?這是因爲visual studio還不是很智能,所以你還要設置一下,鼠標放在 appbar.add.rest.png 上,右擊選擇properties,在Build Action裏選擇Content,對另外兩個文件也作同樣的設置,再次運行,就正常顯示出我們想要的效果了。

順便講講Opacity ,這個屬性是設置透明度的,它的值是從0到1的,微軟建議開發者只使用三個值:0,0.5,1。可以試着使用這三種值看看。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章