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

Windows Phone 7 UI設計:理解MainPage.xaml

原創
移動開發
在本文中我們將介紹如何理解Windows Phone應用程序中的MainPage.xaml。代碼片段顯示了MainPage.xaml的原始代碼,提供了一個ApplicationBar按鈕示例,默認情況下,這些代碼是被注釋掉的,如果取消從<phone:Phone-ApplicationPage.ApplicationBar>開始的注釋,你就會看到效果了。

【51CTO譯文】在前文中51CTO已經向大家介紹過Windows Phone 7 UI設計理念應用程序開發平臺,以及在做UI設計時應該理解的代碼隱藏文件和啟動畫面,在本文中我們將介紹如何理解Windows Phone應用程序中的MainPage.xaml。

下面的代碼片段顯示了MainPage.xaml的原始代碼,提供了一個ApplicationBar按鈕示例,默認情況下,這些代碼是被注釋掉的,因此在設計視圖中是看不到應用程序工具條的,如果取消從<phone:Phone-ApplicationPage.ApplicationBar>開始的注釋,你就會看到效果了。

圖1 顯示了MainPage.xaml的文檔結構。

MainPage.xaml默認的文檔結構 
圖 1 MainPage.xaml默認的文檔結構

通過文檔結構可以加快了解組成UI的不同控件。

  1. <phone:PhoneApplicationPage 
  2. x:Class="WPBusinessApp.MainPage" 
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  5. xmlns:phone="clrnamespace:  
  6. Microsoft.Phone.Controls;assembly=Microsoft.Phone"  
  7. xmlns:shell="clrnamespace:  
  8. Microsoft.Phone.Shell;assembly=Microsoft.Phone"  
  9. xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
  10. xmlns:mc="http://schemas.openxmlformats.org/markupcompatibility/  
  11. 2006"  
  12. FontFamily="{StaticResource PhoneFontFamilyNormal}" 
  13. FontSize="{StaticResource PhoneFontSizeNormal}" 
  14. Foreground="{StaticResource PhoneForegroundBrush}" 
  15. SupportedOrientations="Portrait" Orientation="Portrait" 
  16. mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="696" 
  17. shell:SystemTray.IsVisible="True"> 
  18. <!—LayoutRoot contains the root grid where all other page  
  19. content is placed—> 
  20. <Grid x:Name="LayoutRoot" Background="Transparent"> 
  21. <Grid.RowDefinitions> 
  22. <RowDefinition Height="Auto"/> 
  23. <RowDefinition Height="*"/> 
  24. </Grid.RowDefinitions> 
  25. <!—TitlePanel contains the name of the application and  
  26. page title—> 
  27. <StackPanel x:Name="TitlePanel" Grid.Row="0" 
  28. Margin="24,24,0,12"> 
  29. <TextBlock x:Name="ApplicationTitle" Text="MY  
  30. APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/> 
  31. <TextBlock x:Name="PageTitle" Text="page name" 
  32. Margin="-3,-8,0,0" Style="{StaticResource  
  33. PhoneTextTitle1Style}"/> 
  34. </StackPanel> 
  35. <!—ContentPanel - place additional content here—> 
  36. <Grid x:Name="ContentGrid" Grid.Row="1"> 
  37. </Grid> 
  38. </Grid> 
  39. <!— Sample code showing usage of ApplicationBar—> 
  40. <phone:PhoneApplicationPage.ApplicationBar> 
  41. <shell:ApplicationBar IsVisible="True" 
  42. IsMenuEnabled="True"> 
  43. <shell:ApplicationBarIconButton 
  44. x:Name="appbar_button1" IconUri="/Images/appbar_button1.png" 
  45. Text="Button 1"></shell:ApplicationBarIconButton> 
  46. <shell:ApplicationBarIconButton 
  47. x:Name="appbar_button2" IconUri="/Images/appbar_button2.png" 
  48. Text="Button 2"></shell:ApplicationBarIconButton> 
  49. <shell:ApplicationBar.MenuItems> 
  50. <shell:ApplicationBarMenuItem 
  51. x:Name="menuItem1" Text="MenuItem  
  52. 1"></shell:ApplicationBarMenuItem> 
  53. <shell:ApplicationBarMenuItem 
  54. x:Name="menuItem2" Text="MenuItem  
  55. 2"></shell:ApplicationBarMenuItem> 
  56. </shell:ApplicationBar.MenuItems> 
  57. </shell:ApplicationBar> 
  58. </phone:PhoneApplicationPage.ApplicationBar> 
  59. <!— End of sample code —> 
  60. </phone:PhoneApplicationPage> 
  61.  

LayoutRoot是PhoneApplicationPage中的根Grid,所有頁面內容全部位于LayoutRoot中,需要注意的是ApplicationBar沒有指定具體的名字,它也屬于PhoneApplicationPage的一部分,因為應用程序工具條是一個特殊的Shell控件,TitlePanel是擁有兩個TextBlock控件的StackPanel。

◆ApplicationTitle:默認情況下,它的“Text”屬性被設為“MY APPLICATION”,你可以修改為你自己的應用程序標題名字。

◆PageTitle:默認情況下,它的“Text”屬性被設為“page name”,如果你的應用程序有多個頁面,你可以使用這個TextBlock指定一個真實的頁面,如果應用程序只有一個頁面需要控件,這個TextBlock就會占用不必要的空間,如果你刪除它,StackPanel的高度值會自動調整,因此,當你需要放置更多的控件時,可以移除PageTitle。

圖2顯示了一個TextBlock和一個位于ContentGrid內的TextBlock,Silverlight for Windows Phone支持主題,因此根據用戶在設備中選擇的主題不同,每個控件的外觀可能都不一樣。

應用默認主題的設計視圖,顯示了添加的控件樣式 
圖 2 應用默認主題的設計視圖,顯示了添加的控件樣式

默認情況下,Visual Studio 2010工具箱提供了最常見的Windows Phone控件,在工具箱上下文菜單中點擊“選擇”可以添加更多隱藏起來的控件,例如,非常有用的老式InkPresenter控件,它允許用戶直接用手指作畫。

你也可以使用Silverlight 3引入的3D投影,但如果你不想為這些3D投影編寫XAML代碼,那你必須選擇Microsoft Expression Blend 4 for Windows Phone,實際上,如果你要創建一個復雜的UI,Expression Blend可以簡化你的工作,它也允許你使用行為簡化UI控件響應常見的多點觸摸手勢。

Expression Blend 4提供了更精密的設計視圖,當你使用ApplicationBar時,你可以從預定義圖標列表為每個按鈕選擇不同的圖標,如圖3所示。

Expression Blend 4為ApplicationBarIconButton提供了一個預定義的圖標下拉列表 
圖 3 Expression Blend 4為ApplicationBarIconButton提供了一個預定義的圖標下拉列表

ApplicationBar是由許多ApplicationBarIconButton控件組成的,這些圖標顯示在一個小圓圈內,如圖4所示。

兩個ApplicationBarIconButton控件和它們對應的圖標 
圖 4 兩個ApplicationBarIconButton控件和它們對應的圖標

ApplicationBar也可以包括ApplicationBarMenuItem控件,你可以為每個ApplicationBarIconButton和ApplicationBarMenuItem控件加入一個Click事件處理程序。注意ApplicationBar控件是可選的,當你在Visual Studio 2010或Expression Blend 4 for Windows Phone中運行項目時,生成的結果將會部署到Windows Phone 7模擬器中,應用程序第一次運行時,Windows Phone 7模擬器需要一點時間來加載,但不用關閉模擬器就可以啟動另一個調試會話,保持模擬器一直運行會帶來很大的方便,在你完成必要的修改后,可再次運行,如果你關閉模擬器,重新運行項目時又要再加載一次。圖5顯示了運行著一個非常簡單的UI的模擬器,點擊模擬器的開始菜單,將會看到Internet Explorer等應用程序的圖標。

運行中的Windows Phone 7模擬器 
圖 5 運行中的Windows Phone 7模擬器

圖6顯示了一個示例應用程序的自定義圖標。

菜單項列表中顯示的應用程序自定義圖標 
圖 6 菜單項列表中顯示的應用程序自定義圖標

圖7顯示了模擬器中的自定義啟動畫面,默認情況下,項目定義支持PhoneApplicationPage的縱向顯示。

應用程序啟動時顯示的自定義啟動畫面 
圖 7 應用程序啟動時顯示的自定義啟動畫面

下面的代碼指定了SupportedOrientations和Orientation的值。

  1. SupportedOrientations="PortraitOrLandscape" Orientation="Landscape" 
  2.  

控件的位置和大小將會根據設備的方向,PhoneApplicationPage的SupportedOrientations屬性值不同而有所變化,如果你希望你的應用程序支持橫向和縱向使用,必須將SupportedOrientations設為PortraitOrLand scape。記住一定要用模擬器測試不同的方向,避免用戶旋轉設備時,控件的位置和大小出現異常,圖8顯示了一個應用程序在模擬器中旋轉方向后的樣子。

Windows Phone 7模擬器橫向顯示一個應用程序 
圖 8 Windows Phone 7模擬器橫向顯示一個應用程序

原文出處:http://www.drdobbs.com/windows/227701092;jsessionid=0LPPSGFA3UDNBQE1GHPSKH4ATMY32JVN

原文名:Developing a Silverlight UI for Windows Phone 7

作者:Gaston Hillar

【51CTO譯稿,非經授權謝絕轉載,合作媒體轉載請注明原文出處、作者及51CTO譯稿和譯者!】

【編輯推薦】

  1. Windows Phone 7 UI設計理念
  2. 簡述Windows Phone 7應用程序開發平臺
  3. Windows Phone 7 UI設計菜單:代碼隱藏文件和啟動畫面 
  4. Windows Phone 7開發工具發布更新包 附下載地址
  5. 微軟推Windows Phone 7 Silverlight程序員成贏家
責任編輯:佚名 來源: 51CTO獨家譯稿
相關推薦

2010-11-09 09:43:22

UI設計Windows Pho

2010-11-24 16:15:09

UI設計Windows Pho

2010-11-24 16:36:02

Windows PhoUI設計Windows Pho

2010-10-25 14:07:55

Windows Pho

2012-03-20 21:05:53

Windows Pho

2011-12-29 21:22:29

Windows Pho

2011-03-28 09:08:04

評測報告設計Windows Pho

2010-11-04 18:11:35

UI設計SilverlightWindows Pho

2013-04-12 11:02:50

WWindowsPho

2010-08-02 14:47:51

Windows PhoWindows PhoWindows Pho

2010-11-26 16:00:08

Windows Pho

2013-07-30 11:18:37

Windows PhoWindows Pho

2010-05-05 13:16:02

Windows PhoWindows CE

2011-08-22 16:45:58

Windows PhoiOS

2012-05-29 21:38:14

Metro UI

2011-06-08 09:43:15

Windows Pho

2012-08-16 10:35:50

Windows Pho

2010-12-01 13:40:13

樞軸控件Windows Pho

2010-07-21 14:56:21

Windows Pho

2011-06-07 11:35:38

Windows Pho
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 蜜臀网 | 免费av手机在线观看 | 国产乱码久久久 | 91国产在线播放 | 午夜色婷婷| 国产精品性做久久久久久 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 日韩在线欧美 | 国产精品一卡 | 久久久www | 狠狠狠干| 51ⅴ精品国产91久久久久久 | 男人天堂免费在线 | 国产日韩视频 | 黄色a视频 | 天堂在线中文字幕 | 99在线资源 | 国产极品粉嫩美女呻吟在线看人 | 日韩中文字幕在线视频 | 国产精品99| 欧美黄页| 久久在线看| 亚洲一区二区在线视频 | 插插宗合网 | 亚洲夜夜爽 | 中文字幕在线观看精品 | 午夜在线小视频 | 久久中文视频 | 黄色免费在线观看 | caoporn国产精品免费公开 | 中文字幕一区在线 | 久久综合狠狠综合久久综合88 | 国产精品久久久久久一区二区三区 | 美女张开腿露出尿口 | 国产一级特黄视频 | 欧美激情精品久久久久久 | 夜夜骚| 国产目拍亚洲精品99久久精品 | 国产午夜精品一区二区三区四区 | 中文字幕在线精品 | 亚洲人成人一区二区在线观看 |