windows phone中如何添加applicationBar?這一點在APP HUB中已經講的很清楚:
http://create.msdn.com/en-US/education/quickstarts/Navigation
其實每次建立windowsphone工程的時候,預設的xaml中已經寫好了applicationBar的定義格式,只是把這塊注釋掉了,我們 需要做的就是開啟注釋(去掉<!-- -->就可以了),這一點真的很方便。回到design介面,看下面出現了四個圓圈!
這就是想要的iconbutton,但是正常的按鈕都是有圖片的,比如“播放”,一般是一個三角形,“停止”一般是一個方框,如果你現在就運行工程,看到的將是一個叉!沒關係,只要加入想要的表徵圖就可以了!
但是,msdn的這個例子落下了一個關鍵的地方:IconButton的表徵圖怎麼加入?圖片的屬性是怎麼設定的??在常式中,XAML檔案是這麼定義的:
<phone:PhoneApplicationPage.ApplicationBar><shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"><shell:ApplicationBarIconButton x:Name="newButton"IconUri="/Images/appbar.new.rest.png" Text="new"Click="newButton_Click"/><shell:ApplicationBarIconButton x:Name="folderButton"IconUri="/Images/appbar.folder.rest.png" Text="folders"Click="folderButton_Click"/><shell:ApplicationBarIconButton x:Name="syncButton"IconUri="/Images/appbar.refresh.rest.png" Text="sync"Click="syncButton_Click"/><shell:ApplicationBar.MenuItems><shell:ApplicationBarMenuItem Text="settings"/><shell:ApplicationBarMenuItem Text="add email account"/></shell:ApplicationBar.MenuItems></shell:ApplicationBar></phone:PhoneApplicationPage.ApplicationBar>
我們看到,IconUri="/Images/appbar.new.rest.png" ,說明是給圖片加了一個串連,而且這個圖片的路徑在/Images中!回去看看你的solution explorer,工程底下肯定沒有這個目錄吧?所以必須自己建立一個:右擊工程名,add,folder,命名為Images,那麼裡面的圖片上哪去 找?msdn這個例子上寫了很多關於圖片格式的要求,這麼多要求。。。還是別自己畫了,用系統內建的吧:C:\Program Files\Microsoft SDKs\Windows Phone\v7.0\Icons\dark下,有黑色主題下用的表徵圖,找到想要的,在solution中右擊Images,add這個就可以了!這就結 束了嗎?當然沒有!接下來才是例子中沒講的:
這麼添加完畢後,這些圖片的預設的Action Build是“resource”,必須將其改為“content”!!然後將copy to output directory改為“copy if newer”!!(選中所有表徵圖圖片,然後右擊,property,在裡面就可以看到這兩個選項!)
我就是沒考慮圖片的屬性設定,即使在xaml中添加了路徑,又在c#中硬編了初始化,在運行時,看到的button表徵圖依然是冷漠的“叉”!
這一點是在這找到的:http://msdn.microsoft.com/en-us/library/ff431806(v=VS.92).aspx
To add icon button images to your Windows Phone application中的詳細步驟這是我編的錄音機中的iconbutton: