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

Windows Phone 7 UI設(shè)計(jì):理解MainPage.xaml

原創(chuàng)
移動(dòng)開(kāi)發(fā)
在本文中我們將介紹如何理解Windows Phone應(yīng)用程序中的MainPage.xaml。代碼片段顯示了MainPage.xaml的原始代碼,提供了一個(gè)ApplicationBar按鈕示例,默認(rèn)情況下,這些代碼是被注釋掉的,如果取消從<phone:Phone-ApplicationPage.ApplicationBar>開(kāi)始的注釋,你就會(huì)看到效果了。

【51CTO譯文】在前文中51CTO已經(jīng)向大家介紹過(guò)Windows Phone 7 UI設(shè)計(jì)理念應(yīng)用程序開(kāi)發(fā)平臺(tái),以及在做UI設(shè)計(jì)時(shí)應(yīng)該理解的代碼隱藏文件和啟動(dòng)畫(huà)面,在本文中我們將介紹如何理解Windows Phone應(yīng)用程序中的MainPage.xaml。

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

圖1 顯示了MainPage.xaml的文檔結(jié)構(gòu)。

MainPage.xaml默認(rèn)的文檔結(jié)構(gòu) 
圖 1 MainPage.xaml默認(rèn)的文檔結(jié)構(gòu)

通過(guò)文檔結(jié)構(gòu)可以加快了解組成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,所有頁(yè)面內(nèi)容全部位于LayoutRoot中,需要注意的是ApplicationBar沒(méi)有指定具體的名字,它也屬于PhoneApplicationPage的一部分,因?yàn)閼?yīng)用程序工具條是一個(gè)特殊的Shell控件,TitlePanel是擁有兩個(gè)TextBlock控件的StackPanel。

◆ApplicationTitle:默認(rèn)情況下,它的“Text”屬性被設(shè)為“MY APPLICATION”,你可以修改為你自己的應(yīng)用程序標(biāo)題名字。

◆PageTitle:默認(rèn)情況下,它的“Text”屬性被設(shè)為“page name”,如果你的應(yīng)用程序有多個(gè)頁(yè)面,你可以使用這個(gè)TextBlock指定一個(gè)真實(shí)的頁(yè)面,如果應(yīng)用程序只有一個(gè)頁(yè)面需要控件,這個(gè)TextBlock就會(huì)占用不必要的空間,如果你刪除它,StackPanel的高度值會(huì)自動(dòng)調(diào)整,因此,當(dāng)你需要放置更多的控件時(shí),可以移除PageTitle。

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

應(yīng)用默認(rèn)主題的設(shè)計(jì)視圖,顯示了添加的控件樣式 
圖 2 應(yīng)用默認(rèn)主題的設(shè)計(jì)視圖,顯示了添加的控件樣式

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

你也可以使用Silverlight 3引入的3D投影,但如果你不想為這些3D投影編寫(xiě)XAML代碼,那你必須選擇Microsoft Expression Blend 4 for Windows Phone,實(shí)際上,如果你要?jiǎng)?chuàng)建一個(gè)復(fù)雜的UI,Expression Blend可以簡(jiǎn)化你的工作,它也允許你使用行為簡(jiǎn)化UI控件響應(yīng)常見(jiàn)的多點(diǎn)觸摸手勢(shì)。

Expression Blend 4提供了更精密的設(shè)計(jì)視圖,當(dāng)你使用ApplicationBar時(shí),你可以從預(yù)定義圖標(biāo)列表為每個(gè)按鈕選擇不同的圖標(biāo),如圖3所示。

Expression Blend 4為ApplicationBarIconButton提供了一個(gè)預(yù)定義的圖標(biāo)下拉列表 
圖 3 Expression Blend 4為ApplicationBarIconButton提供了一個(gè)預(yù)定義的圖標(biāo)下拉列表

ApplicationBar是由許多ApplicationBarIconButton控件組成的,這些圖標(biāo)顯示在一個(gè)小圓圈內(nèi),如圖4所示。

兩個(gè)ApplicationBarIconButton控件和它們對(duì)應(yīng)的圖標(biāo) 
圖 4 兩個(gè)ApplicationBarIconButton控件和它們對(duì)應(yīng)的圖標(biāo)

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

運(yùn)行中的Windows Phone 7模擬器 
圖 5 運(yùn)行中的Windows Phone 7模擬器

圖6顯示了一個(gè)示例應(yīng)用程序的自定義圖標(biāo)。

菜單項(xiàng)列表中顯示的應(yīng)用程序自定義圖標(biāo) 
圖 6 菜單項(xiàng)列表中顯示的應(yīng)用程序自定義圖標(biāo)

圖7顯示了模擬器中的自定義啟動(dòng)畫(huà)面,默認(rèn)情況下,項(xiàng)目定義支持PhoneApplicationPage的縱向顯示。

應(yīng)用程序啟動(dòng)時(shí)顯示的自定義啟動(dòng)畫(huà)面 
圖 7 應(yīng)用程序啟動(dòng)時(shí)顯示的自定義啟動(dòng)畫(huà)面

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

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

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

Windows Phone 7模擬器橫向顯示一個(gè)應(yīng)用程序 
圖 8 Windows Phone 7模擬器橫向顯示一個(gè)應(yīng)用程序

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

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

作者:Gaston Hillar

【51CTO譯稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載,合作媒體轉(zhuǎn)載請(qǐng)注明原文出處、作者及51CTO譯稿和譯者!】

【編輯推薦】

  1. Windows Phone 7 UI設(shè)計(jì)理念
  2. 簡(jiǎn)述Windows Phone 7應(yīng)用程序開(kāi)發(fā)平臺(tái)
  3. Windows Phone 7 UI設(shè)計(jì)菜單:代碼隱藏文件和啟動(dòng)畫(huà)面 
  4. Windows Phone 7開(kāi)發(fā)工具發(fā)布更新包 附下載地址
  5. 微軟推Windows Phone 7 Silverlight程序員成贏家
責(zé)任編輯:佚名 來(lái)源: 51CTO獨(dú)家譯稿
相關(guān)推薦

2010-11-09 09:43:22

UI設(shè)計(jì)Windows Pho

2010-11-24 16:15:09

UI設(shè)計(jì)Windows Pho

2010-11-24 16:36:02

Windows PhoUI設(shè)計(jì)Windows Pho

2012-03-20 21:05:53

Windows Pho

2011-12-29 21:22:29

Windows Pho

2010-10-25 14:07:55

Windows Pho

2011-03-28 09:08:04

評(píng)測(cè)報(bào)告設(shè)計(jì)Windows Pho

2010-11-04 18:11:35

UI設(shè)計(jì)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

2011-06-07 11:35:38

Windows Pho

2010-07-21 14:56:21

Windows Pho

2010-12-01 13:40:13

樞軸控件Windows Pho
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲国产精品久久 | 一区二区三区免费 | 亚洲一区精品视频 | 欧美一区二区另类 | 欧美视频在线播放 | 欧美一级欧美三级在线观看 | 久久99精品久久久 | 国产精品揄拍一区二区久久国内亚洲精 | 国产午夜精品久久 | 日本高清视频网站 | 国产精品成人国产乱一区 | 国产成人精品一区二区三区在线观看 | 求毛片 | 成人在线免费视频 | 精品无码久久久久久国产 | 亚洲情视频| 国产探花在线精品一区二区 | 国产精品中文在线 | 中文字幕日韩一区 | 一区二区三区四区免费在线观看 | 久久免费精品 | 久久久久亚洲av毛片大全 | 逼逼视频 | 久久午夜影院 | 欧美精品一区在线观看 | 激情91| 农夫在线精品视频免费观看 | 成人一区二区在线 | 亚洲午夜av久久乱码 | 国产精品视屏 | 久久久久国产精品 | 国产精品一区在线播放 | 精品成人一区 | 久久只有精品 | 国产黄色大片在线观看 | 欧美成人一区二区三区 | 欧美在线色| 亚洲国产成人在线 | 日本欧美国产 | 天天看夜夜 | 欧美成人aaa级毛片在线视频 |