成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

31天學會Windows Phone 7開發:工具欄

移動開發
本文是《Windows Phone 7開發31日談》的第六篇文章,上一篇,我們介紹了系統主題以及如何通過鼠標使用Expression Blend來設置系統值,下面,我們來看看另一個可以用Expression Blend輕松實現的主題。

上一篇,我們討論了系統主題以及如何通過鼠標使用Expression Blend來設置系統值。本文,我們來看看另一個可以用Expression Blend輕松實現的主題。如果你看到在各個地方比如YouTube(或我的個人網站,Blankensoft)展示過的應用程序后,你會發現它們基本都使用了一個漂亮的工具欄。

Windows Phone 7工具欄是應用程序底部的一排圓形圖標。下面是我制作的游戲TapScotch中的工具欄演示。

工具欄演示

可以從上例中看到我放置了4個用于與用戶交互的圖標。Play, Best Times, Badges和Help。在程序中任何時候點擊任何其中任何一個都可以跳轉到相應的頁面去。那么,怎么來實現呢?

添加工具欄

如果你打開一個新項目,實際上在MainPage.xaml文件中有段被注釋掉的代碼。如果你刪掉注釋,工具欄的代碼看起來就是這樣:

  1. <phone:PhoneApplicationPage.ApplicationBar> 
  2.         <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> 
  3.             <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/> 
  4.             <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/> 
  5.             <shell:ApplicationBar.MenuItems> 
  6.                 <shell:ApplicationBarMenuItem Text="MenuItem 1"/> 
  7.                 <shell:ApplicationBarMenuItem Text="MenuItem 2"/> 
  8.             </shell:ApplicationBar.MenuItems> 
  9.         </shell:ApplicationBar> 
  10.     </phone:PhoneApplicationPage.ApplicationBar> 

如果你還刪掉了頁面頭部的XML名稱空間,即這些代碼(確認你沒有刪除對這些程序集的引用):

  1. xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 
  2. xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" 

一旦你在程序中添加了工具欄,你就應該能看到Visual Studio很智能地將程序的DesignHeight屬性調整了72個像素。那正是工具欄的高度。現在來說說系統托盤。

Windows Phone系統托盤

你可能已經注意到當你運行程序時,你可以看到時鐘,WiFi信號強度,電池續航時間,等等。這是因為默認情況下,系統托盤是打開的。如果你不關注那些信息(或者你正好需要那32個像素的空間),那你可以將它的IsVisible屬性設置為false。

shell:SystemTray.IsVisible="False"

在工具欄中添加圖標

如果你看過工具欄的代碼,你可能會注意到它指向了兩個當前不在你的項目中的圖片。如果你運行程序,你會看到每個ApplicationBarIconButton都顯示一個X圖標。我們可以很簡單地去為每個按鈕創建幾個圖片,然后添加到項目中,再在那些代碼中引用它們,對嗎?當然。不過還有一個更簡單的方法,還是Expression Blend。在Expression Blend中打開你的項目,導航到“Objects and Timeline”樹直到你找到那些ApplicationBarIconButton對象。

在工具欄中添加圖標

當你選中任何一個ApplicationBarIconButton時,看一下屬性標簽。你會看到一種設置每個圖標和文字的簡便方法。如下:

設置每個圖標和文字

如果你打開IconUri下拉框,你會看到很多可以用在程序中的標準圖標。除非你有一套自定義的圖標否則你肯定離不開它們,這些圖標可以滿足你大多數的需求(當然你可以自己創建圖標并手動添加)。選中一個后,它會自動將白色版本添加到你的項目中。“Jeff,為什么只有白色的?”好問題。我馬上就會說到。如果你沒有在Blend中演練,那么來看一下圖標列表。

圖標列表

為什么只有白色圖標?

Windows Phone產品組讓你的生活變得如此簡單。你只需創建一個版本的圖標,其他的會被自動處理。所以,當你提供一個用于深色主題的白色圖標后,在用戶使用淺色圖標時它會自動將其轉換成黑色。你可以試一下!選擇列表中的一個圖標,看看你的項目結構。現在在你的項目中只有一個圖片。操作系統會在你需要的時候自動將白圖標變為黑色的。

讓這些按鈕真正有效

好了,現在,你的程序中已經有了漂亮的按鈕,但在你點擊它們時它不會做任何事情。此時,它們和你XAML文件中的其他東西一樣。需要給它們添加一個Click事件,以及后置代碼中的一個事件處理程序。下面是這個簡單程序的XAML和C#代碼:

XAML

  1. <shell:ApplicationBarIconButton x:Name="AddButton" IconUri="/icons/appbar.add.rest.png" Text="Add" Click="AddButton_Click"/> 
  2. <shell:ApplicationBarIconButton x:Name="SubtractButton" IconUri="/icons/appbar.minus.rest.png" Text="Subtract" Click="SubtractButton_Click"/> 

C#

  1. private void AddButton_Click(object sender, EventArgs e)  
  2. {  
  3.  Counter.Text = (Int32.Parse(Counter.Text.ToString()) + 1).ToString();  
  4. }  
  5.  
  6. private void SubtractButton_Click(object sender, EventArgs e)  
  7. {  
  8.  Counter.Text = (Int32.Parse(Counter.Text.ToString()) - 1).ToString();  

這些帶文字的菜單項是什么?

另一個好問題。如果你運行了程序,可能會發現在省略號圖標上點擊時,工具欄展開并顯示了一些菜單選項。如果你使用上面的默認代碼,寫的是“MenuItem 1”和“MenuItem 2”。它們的工作原理和圖標按鈕類似,用戶點擊時可以觸發事件處理程序。下面是示例程序中工具欄展開時的樣子(在兩種主題下):

示例程序 示例程序

下載示例代碼

來看一下完整的示例程序,在這里下載源代碼。加減按鈕對屏幕中央的0加1或減1。縮小和放大按鈕分別增加或減小那個數字的字號。相信這個在Windows Phone 7中如何創建工具欄的例子會很有幫助的。

原作者:Jeff Blankenburg    譯者:金山崟霸

中文來源:http://www.cnblogs.com/porscheyin/archive/2010/11/24/1887130.html

英文來源:http://www.jeffblankenburg.com/2010/10/06/31-days-of-windows-phone-day-6-application-bar/

【編輯推薦】

  1. 31天學會Windows Phone 7開發:項目模板
  2. 31天學會Windows Phone 7開發:頁面間導航
  3. 31天學會Windows Phone 7開發:返回鍵
  4. 31天學會Windows Phone 7開發:設備方向
  5. 31天學會Windows Phone 7開發:系統主題
責任編輯:王曉東 來源: 博客園
相關推薦

2012-06-13 13:01:57

Windows Pho

2012-08-02 10:16:39

Windows Pho

2012-06-06 13:48:34

Windows Pho

2012-06-11 13:08:10

Windows Pho

2012-08-01 10:26:33

Windows Pho

2012-08-09 13:39:22

Windows Pho

2012-08-16 11:31:30

Windows Pho

2012-06-25 16:14:26

Windows Pho

2012-08-13 09:56:45

Windows Pho

2012-06-12 10:43:20

Windows Pho

2012-06-07 09:33:13

Windows Pho

2012-06-20 10:21:50

Windows Pho

2012-07-13 14:41:12

2012-07-24 10:15:34

Windows Pho

2012-06-21 10:59:31

Windows Pho

2012-07-11 09:21:35

Windows Pho

2012-07-31 09:44:27

Windows Pho

2012-06-29 14:13:10

2013-04-19 16:52:24

Windows PhoWindows Pho

2009-10-30 08:49:30

Windows 7鎖定IE工具欄
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜精品一区二区三区在线视 | 欧美精品二区 | 成人视屏在线观看 | 成人网在线观看 | 韩日一区二区 | 久久网一区二区三区 | 激情欧美一区二区三区中文字幕 | 欧美1区 | 国产精品美女一区二区三区 | 久久33| 伊人亚洲| av毛片 | 中文字幕乱码一区二区三区 | 在线观看成人 | 天堂视频一区 | 自拍亚洲 | 欧美日韩不卡在线 | 情侣酒店偷拍一区二区在线播放 | 亚洲 欧美 日韩在线 | 色婷婷av久久久久久久 | 一区二区三区四区av | 成人午夜在线 | 亚洲精品电影在线观看 | 国产高清免费在线 | 99日韩| 国产视频第一页 | 青草青草久热精品视频在线观看 | 国产传媒在线观看 | 四虎av电影| 国产一区二区三区在线 | 色婷婷av一区二区三区软件 | 精品久久久久久18免费网站 | 日本天天色| 男人午夜视频 | 亚洲一区二区三区免费观看 | 久久999| 美国黄色毛片 | 欧美精三区欧美精三区 | 久久免费精品视频 | 一区二区国产精品 | 精品久久久久一区二区国产 |