ã¢ããªã±ãŒã·ã§ã³ã«è€æ°ã®ããŒãžãããå ŽåããŠãŒã¶ãŒããããã®ããŒãžéã移åã§ããããã«ããå¿ èŠããããŸãã
ã¬ã€ã¢ãŠãã®äœæãšã¯ãããã«ãè¿œå ããã³ã³ãããŒã«ãé 眮ããããŒãžã®ç®çã®å€èŠ³ãšåäœãå®çŸããããããã£ãèšå®ããããã»ã¹ã§ãã
ãã®ããŒãã§ã¯ã次ã®ããšãåŠç¿ããŸãã
- ãã€ããŒãªã³ã¯ã䜿çšããŠå¥ã®ããŒãžãžã®ç§»è¡ãå®è£ ããæ¹æ³ã
- ããã²ãŒã·ã§ã³ãµãŒãã¹ã䜿çšããŠå¥ã®ããŒãžãžã®ç§»è¡ãå®è£ ããæ¹æ³ã
- ããŒãžã§äœ¿çšãããŠããæšæºããã«ã
- XAMLãšã¯äœã§ããïŒãŸãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãäœæããããã«ã©ã®ããã«äœ¿çšãããŸããã
- ããŒãžã«ã³ã³ãããŒã«ãé 眮ããæ¹æ³ã
- åçããŒã¯ã¢ãããäœæããæ¹æ³ã
ããŒãžéã®ããã²ãŒã·ã§ã³ã
èµ·åæããã³ã·ã£ããããŠã³æã®èªåããã²ãŒã·ã§ã³ã«å ããŠãããã²ãŒã·ã§ã³ã¯éåžžããã€ããŒãªã³ã¯ããã¿ã³ãªã©ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã³ã³ãããŒã«ã䜿çšããããããŒããŠã§ã¢ã®æ»ããã¿ã³ãæŒãããããçµæãšããŠçºçããŸãã æ»ããã¿ã³ã¯ãç¹å¥ãªåŠçãªãã§èªåçã«æ»ããŸãã
ããŒãžéã®ããã²ãŒã·ã§ã³ãå®è£ ããæãç°¡åãªæ¹æ³ã¯ãHyperlinkButââtonã³ã³ãããŒã«ã䜿çšããããšã§ãã NavigationUriããããã£ã䜿çšããŠãç®çã®ããŒãžã«ç§»åã§ããŸãã 次ã®äŸã¯ãSecondPage.xamlãšããååã®ããŒãžã«ç§»åããæ¹æ³ã瀺ããŠããŸãã
HyperlinkButââtonã䜿çšããããªãå Žåã¯ãNavigationServiceã¯ã©ã¹ã䜿çšããŠããã²ãŒã·ã§ã³ãå®è£ ã§ããŸãã ãã®ã¯ã©ã¹ã«ã¯ãããã²ãŒã·ã§ã³ã«åœ¹ç«ã€ããã€ãã®ããããã£ãã¡ãœãããããã³ã€ãã³ããå«ãŸããŠããŸãã NavigationService.Navigateã¡ãœããã䜿çšããŠãç¹å®ã®ããŒãžã«ç§»åã§ããŸãã 次ã®ã³ãŒãã¯ãNavigateã¡ãœãããåŒã³åºãã¢ããªã±ãŒã·ã§ã³ããã«ã®ãã¿ã³ãã¯ãªãã¯ããããã®ã€ãã³ããã³ãã©ãŒã瀺ããŠããŸãã< HyperlinkButton NavigateUri ="SecondPage.xaml" /> * This source code was highlighted with Source Code Highlighter .
< HyperlinkButton NavigateUri ="SecondPage.xaml" /> * This source code was highlighted with Source Code Highlighter .
< HyperlinkButton NavigateUri ="SecondPage.xaml" /> * This source code was highlighted with Source Code Highlighter .
Navigateã¡ãœããã¯åžžã«ãæå®ãããURIã«æ°ããããŒãžã€ã³ã¹ã¿ã³ã¹ãäœæããŸãã URIãã©ã¡ãŒã¿ãŒãè¿œå ããŠãèŠæ±ãããããŒãžãæå®ãããç¶æ ã«åæåããããšãã§ããŸãïŒFuel Trackerã¯URIãã©ã¡ãŒã¿ãŒã§ã¹ããŒã¿ã¹æ å ±ãéä¿¡ããŸããïŒã ããŒãžéã§ããŒã¿ã転éããä»ã®ãªãã·ã§ã³ã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ããããã£ãå€éšãŠãŒãã£ãªãã£ã¯ã©ã¹ããŸãã¯PhoneApplicationService.Stateããããã£ã®äœ¿çšãå«ãŸããŸãã
*ãã®ãœãŒã¹ã³ãŒãã¯ã ãœãŒã¹ã³ãŒããã€ã©ã€ã¿ãŒã§åŒ·èª¿è¡šç€ºãããŸããã
- private void FillupButton_ClickïŒ ãªããžã§ã¯ãéä¿¡è ã EventArgs eïŒ
- {
- NavigationService.NavigateïŒ
- new Uri ïŒ " /views/FillupPage.xaml"ãUriKind.RelativeïŒïŒ;
- }
æ»ãã«ã¯ãNavigationService.GoBackã¡ãœããã䜿çšããŠãåã®ããŒãžã€ã³ã¹ã¿ã³ã¹ã«æ»ãããšãã§ããŸãã ãã¡ãããããã¯[æ»ã]ãã¿ã³ã®æ©èœãè€è£œãããããä»ã®æ©èœã®äžéšãšããŠãã®ã¡ââãœãããåŒã³åºãå¯èœæ§ãé«ããªããŸãã
ããšãã°ãFuel Trackerã¢ããªã±ãŒã·ã§ã³ã®èªåè»æ å ±ããŒãžãšçµŠæ²¹æ å ±ããŒãžã«ã¯ããŠãŒã¶ãŒãè¡ã£ãå€æŽãä¿åããæŠèŠæ å ±ãå«ãæåã®ããŒãžã«æ»ããä¿åããã¿ã³ããããŸãã ãŠãŒã¶ãŒã代ããã«[æ»ã]ãã¿ã³ãã¯ãªãã¯ãããšãããŒã¿ãä¿åããã«ç§»è¡ãæ»ããŸãã ã¢ããªã±ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒããŒã¿ããªã»ããããåã«åžžã«ç¢ºèªãæ±ããå¿ èŠãããããã[æ»ã]ãã¿ã³ãæŒããããšããã€ãã³ãã«å¿çãããšäŸ¿å©ã§ãã è¿œå æ å ±ã«ã€ããŠã¯ããå ¥åããŒã¿ã®æ€èšŒãã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
ã€ã³ã¿ãŒãã§ãŒã¹èšèšã®æšå¥šäºé ïŒ
æ»ããŸãã¯ã³ã³ããã¹ãã¡ãã¥ãŒãšãã€ã¢ãã°ããã¯ã¹ãé衚瀺ã«ãã[æ»ã]ãã¿ã³ã®åäœã®ã¿ãå®è£ ããå¿ èŠããããŸãã ä»ã®ãã¹ãŠã®å®è£ ã¯çŠæ¢ãããŠããŸãã
ããŒãžã¬ã€ã¢ãŠãïŒæšæºããã«
Visual Studioã§æ°ããWindows Phoneã¢ããªã±ãŒã·ã§ã³ãããžã§ã¯ããäœæãããšãããŒãžãããŒã¯ã¢ããããããã®ããã€ãã®ããã«ãšèŠçŽ ãèªåçã«ååŸãããŸãã ããŒã¯ã¢ããã®æ±ºå®ã®ã»ãšãã©ã¯ãContentPanelã«é¢é£ããŸãã 次ã®ç»åã¯ã瞊åãã®ããŒãžã®æšæºããã«ãšèŠçŽ ã瀺ããŠããŸãã
XAMLã®æŠèŠ
Windows Phoneã¢ããªã±ãŒã·ã§ã³ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã¯ãExtensible Application Markup LanguageïŒXAMLïŒãšåŒã°ãã宣èšåããŒã¯ã¢ããèšèªã䜿çšããŠäœæãããŸãã XAMLã¯ãå ±æã¯ã©ã¹ã®å®çŸ©ãä»ããŠããŒã¯ã¢ããã«åå ããåé¢ã³ãŒããã¡ã€ã«ã䜿çšããŠããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹å®çŸ©ãã©ã³ã¿ã€ã ããžãã¯ããåé¢ã§ããXML圢åŒã®ãã¡ã€ã«ã§ãã Webããã°ã©ãã³ã°ã«ç²ŸéããŠããå Žåã¯ãXAMLãHTMLãšããŠèããããšãã§ããŸããããã匷åã§ãã HTMLãšåæ§ã«ãXAMLã¯èŠçŽ ãšå±æ§ã§æ§æãããŸãã
Visual Studio 2010 Express for Windows Phoneããã³Expression Blend for Windows Phoneã䜿çšãããšãã³ã³ãããŒã«ããã¶ã€ããŒã®è¡šé¢ã«ãã©ãã°ã¢ã³ãããããããé 眮ããŠãèŠèŠçãªæ¹æ³ã§ããããã£ãèšå®ã§ããŸãã ãããã®ããŒã«ã¯å¿ èŠãªXAMLã³ãŒããçæãããããWindows Phoneã¢ããªã±ãŒã·ã§ã³ãäœæããããã«XAMLã«é¢ããåºç¯ãªç¥èã¯å¿ èŠãããŸããã ããã§ããäžè¬çãªã¢ã€ãã¢ã¯ãXAMLã³ãŒããæåã§å€æŽããå¿ èŠããããšèããå Žåã«åœ¹ç«ã¡ãŸãã Visual Studioã®XAMLãšãã£ã¿ãŒã¯ãIntelliSenseãšã¹ããŒãã¡ã³ãã®å®äºïŒã¹ããŒãã¡ã³ãã®å®äºïŒãæäŸããŸãã ãŸããXAMLãå€æŽããããšããã¶ã€ããŒã®ã€ã¡ãŒãžãæŽæ°ãããŸãã ç¹å®ã®ã¢ã€ãã ã«é¢ãããã«ããå¿ èŠãªå Žåã¯ããã®ã¢ã€ãã ã«ã«ãŒãœã«ãåãããŠF1ãæŒãããã®ã¢ã€ãã ã®ãã«ããããã¯ã«ç§»åããŸãã
XAMLãã¡ã€ã«ã§ã¯ãåãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãªããžã§ã¯ãã¯XAMLèŠçŽ ã§ããããã®ãªããžã§ã¯ãã®ããããã£ã¯å±æ§ã䜿çšããŠèšå®ãããŸãã XAMLã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ããŒã¯ã¢ããã®å/芪ã®é¢ä¿ãæé»çã«æž¡ããŸãã 次ã®XAMLã³ãŒãã¯ãç»åïŒImageïŒãšããã¹ãïŒTextBlockïŒãå«ãããã«ïŒStackPanelïŒã衚瀺ããŸãã ãã®äŸã§ã¯ãå±æ§æ§æã䜿çšããŠããããã£ãèšå®ãããŸãã
次ã®ç»åã¯ãã¢ããªã±ãŒã·ã§ã³ã®èµ·åæã«ãã®XAMLã³ãŒããã©ã®ããã«è¡šç€ºããããã瀺ããŠããŸãã
*ãã®ãœãŒã¹ã³ãŒãã¯ã ãœãŒã¹ã³ãŒããã€ã©ã€ã¿ãŒã§åŒ·èª¿è¡šç€ºãããŸããã
- <ïŒ-è»ã®åçãšåå.-->
- < StackPanel Orientation = "Horizoâântal" Margin = "12,130" Height = "110"
- VerticalAlignment = "Top" >
- < ç»åã® é«ã = "75" å¹ = "75" ããŒãžã³ = "15" ã¹ãã¬ãã = "UniformToFill"
- ãœãŒã¹ = "{Binding Picture}" />
- < TextBlock Text = "{Binding Name}" VerticalAlignment = "Center" />
- </ stackpanel >
ã³ã³ãããŒã«ã®é 眮
Visual StudioããŒã«ããã¯ã¹ãããã¶ã€ããŒç»é¢ã«ã¢ã€ãã ããã©ãã°ããã ãã§ãããŒã¯ã¢ããã®äœæãéå§ã§ããŸãã ãã¶ã€ã³ã¢ãŒãã§äœããå€æŽãããšããã«ãXAMLã³ãŒããæŽæ°ãããŸãã 次ã®ç»åã¯ãã¹ãããã©ã€ã³ãã°ãªããã©ã€ã³ãããŒãžã³ã©ã€ã³ãªã©ãVisual Studioãã³ã³ãããŒã«ãé 眮ããããã«æäŸããèŠèŠçãªã€ã³ãžã±ãŒã¿ãŒã®äžéšã瀺ããŠããŸãã
ãã¶ã€ããŒã®ãµãŒãã§ã¹äžã§ã³ã³ãããŒã«ã移åããå ŽåãããŒãžã³èšå®ãšç¹å®ã®é«ããšå¹ ã®å€ã䜿çšããŠãã³ã³ãããŒã«ã®æ£ç¢ºãªäœçœ®ãšãµã€ãºã決å®ããŸãã ã³ã³ãããŒã«ããã¢ããªã±ãŒã·ã§ã³ã®ç«¯ãŸã§ã®å¢çç·ã¯ããã£ãŒã«ããåºå®ãããã³ã³ãããŒã«ããã¢ããªã±ãŒã·ã§ã³ã®ç«¯ãŸã§ã®è·é¢ãå€ãããªãããšã瀺ããŸãã ã©ã®ãã£ãŒã«ããåºå®ãããŠãããã¯ãã¢ããªã±ãŒã·ã§ã³ã®ãµã€ãºãå€æŽããããšãã«ã³ã³ãããŒã«ããµã€ãºå€æŽãŸãã¯ç§»åããæ¹æ³ã«åœ±é¿ããå¯èœæ§ããããŸãã
[ããããã£]ãŠã£ã³ããŠã®ãã£ãŒã«ããšãã£ã¿ãŒã«ã¯ãåãã£ãŒã«ãã®èšå®ïŒããŒãžã³ïŒãšããããããã¹ãããã¯ã¹ïŒããã¹ãããã¯ã¹ïŒã®é 眮ã«äžãã圱é¿ã衚瀺ãããŸãã 次ã®å³ã¯ããã£ãŒã«ããšãã£ã¿ãŒã瀺ããŠããŸãã
Canvasã¬ã€ã¢ãŠãã³ã³ãããŒã«ã䜿çšããŠã³ã³ãããŒã«ãé 眮ããããšãã§ããŸãã ã³ã³ãããŒã«ã¯ããã¯ã»ã«ã§æå®ãããx座æšãšy座æšã«åºã¥ããŠCanvasã«é 眮ãããŸãã
ã€ã³ã¿ãŒãã§ãŒã¹èšèšã®æšå¥šäºé ïŒ
Canvasã³ã³ãããŒã«ã¯ãã¯ã»ã«ããŒã¹ã®ããŒã¯ã¢ããã䜿çšããåºå®æ¹åã¢ããªã±ãŒã·ã§ã³ã§æ·±ãåã蟌ãŸããïŒãã¹ããããïŒã³ã³ãããŒã«ã«å¯ŸããŠGridã³ã³ãããŒã«ãããåªããããã©ãŒãã³ã¹ãæäŸã§ããŸãã
ã³ã³ãããŒã«ã®å Žæãæ£ç¢ºã«æå®ãããŠããå Žåãããã¹ããäºæ³ããã倧ããå Žåãç»åã®ãµã€ãºãç°ãªãå Žåãããã³çžŠåããšæšªåãã®äž¡æ¹ããµããŒãããå¿ èŠãããå Žåãã¢ããªã±ãŒã·ã§ã³ã®ã¬ã€ã¢ãŠããå£ããå¯èœæ§ããããŸãã ãã€ãããã¯ããŒã¯ã¢ããã¯ãããŸããŸãªç¶æ³ã§ã¢ããªã±ãŒã·ã§ã³ã®èš±å®¹å¯èœãªå€èŠ³ãä¿èšŒããæè¯ã®æ¹æ³ã§ãã
åçããŒã¯ã¢ãããäœæãã
ãã€ãããã¯ã¯ãã³ã³ãã³ããšåãã«åãããŠãµã€ãºå€æŽããã³é©å¿ããããŒã¯ã¢ããã§ãã ã¢ããªã±ãŒã·ã§ã³ã®ããŒã«ã©ã€ãºãŸãã¯æšªåãã®ãµããŒããèšç»ããŠããå Žåã¯ãåçããŒã¯ã¢ãããäœæããå¿ èŠããããŸãã
åçã¬ã€ã¢ãŠããäœæããã«ã¯ãéåžžãããã«ãã掟çãã次ã®ããããã®ã³ã³ãããŒã«ããå§ããŸãã
- ã°ãªããã³ã³ãããŒã«ã䜿çšãããšãè¡ãšåã®åœ¢åŒã§ã¢ã€ãã ãé 眮ã§ããŸãã
- StackPanelã³ã³ãããŒã«ã¯ãåã¢ã€ãã ãèªåçã«åçŽãŸãã¯æ°Žå¹³ã«é 眮ããŸãã
ã°ãªããã¯ãã¢ããªã±ãŒã·ã§ã³ãã¬ãŒã ãæ¡å€§ãçž®å°ããŸãã¯å転ããå¿ èŠãããå Žåã«æé©ã§ãã
é©åãªã¬ã€ã¢ãŠãã³ã³ãããŒã«ã®éžæã«å ããŠãæ¹åã«å¿ããŠã³ã³ãããŒã«ãèªåçã«å€æŽãããããã«æå®ã§ããããããã£èšå®ãããã€ããããŸãã
åçã¬ã€ã¢ãŠãã«ã¯2ã€ã®éèŠãªãµã€ãºèšå®ããããŸãã
- èªå -ã³ã³ãããŒã«ã¯ãã³ã³ãã³ãã®ãµã€ãºãå€æŽãããŠããã³ã³ãã³ãã«åãããŠãµã€ãºãå€æŽã§ããŸãã
- * ïŒã¢ã¹ã¿ãªã¹ã¯ïŒ-èšå®ãããéã¿ã«å¯Ÿå¿ããæ¯çã§ãã°ãªããã³ã³ãããŒã«ã®è¡ãšåã®éã«ç©ºãã¹ããŒã¹ãå²ãåœãŠãŸãã
- ãHeightãããã³ãWidthãããããã£ãã Auto ãã«èšå®ããŸããããã¯ã芪ããŒãžãŸãã¯ããã«ã®å¹ ãŸãã¯é«ãå šäœãåããããšãæå³ããŸãã
- [ããããã£]ãŠã£ã³ããŠãŸãã¯ãã¶ã€ããŒã䜿çšããŠãã°ãªããã«è¡ãšåãè¿œå ããŸãã
- è¡ãšåã®èªåãµã€ãºãŸãã¯ã¢ã¹ã¿ãªã¹ã¯ïŒ*ïŒãæå®ããŸãã
次ã®äŸã¯ãFuel Trackerã¢ããªã±ãŒã·ã§ã³ã®è»äž¡æ å ±ããŒãžã«ããContentPanelãšããååã®ã°ãªããã³ã³ãããŒã«ã瀺ããŠããŸãã æåã®3è¡ã®é«ãã¯Autoã«èšå®ããã4çªç®ã¯*ã§ãã ã€ãŸããæåã®3è¡ã®é«ãã¯ã³ã³ãã³ãã®ãµã€ãºã«ãã£ãŠæ±ºãŸããæåŸã®è¡ãæ®ãã®ã¹ããŒã¹ãå æããŸãã æåã®åã®å¹ ã¯Autoã«èšå®ããã2çªç®ã®åã¯æ®ãã®ã¹ããŒã¹ãå æããŸãã
- < Grid.RowDefinitions >
- < RowDefinition Height = "Auto" />
- < RowDefinition Height = "Auto" />
- < RowDefinition Height = "Auto" />
- < RowDefinition Height = "*" />
- </ Grid.RowDefinitions >
- < Grid.ColumnDefinitions >
- < ColumnDefinition Width = "Auto" />
- < ColumnDefinition Width = "*" />
- </ Grid.ColumnDefinitions >
- Grid.Rowããããã£ãšGrid.Columnããããã£ã䜿çšãããããã¶ã€ããŒãµãŒãã§ã€ã¹ã®ç®çã®å Žæã«ãã©ãã°ããŠãç¹å®ã®è¡ãšåã«åã³ã³ãããŒã«ãé 眮ããŸãã
- å¿ èŠã«å¿ããŠãGrid.RowSpanããããã£ãšGrid.ColumnSpanããããã£ã䜿çšããŠãè€æ°ã®è¡ãŸãã¯åãåã³ã³ãããŒã«ã«å²ãåœãŠãŸãã
- ã³ã³ãããŒã«ã®ååºå®ããŒãžã³ã確èªããããããå¿ èŠã§ããããšã確èªããŸãã
- ãã¹ãŠã®ã³ã³ãããŒã«ã®ãµã€ãºãèæ ®ããå¿ èŠã«å¿ããŠHeightããããã£ãšWidthããããã£ãåé€ãã代ããã«MinHeightããããã£ãŸãã¯MinWidthããããã£ãèšå®ããŸãã
ã€ã³ã¿ãŒãã§ãŒã¹èšèšã®æšå¥šäºé ïŒ
15ãã€ã³ãããå°ãããã©ã³ãã®äœ¿çšã¯é¿ããŠãã ããã æåã«Segoeãã©ã³ãã䜿çšããå¿ èŠããããŸãã
Fuel Trackerã§ã¯ãã»ãšãã©ã®ã³ã³ãããŒã«ã¯Gridããã³StackPanelã³ã³ãããŒã«ã䜿çšããŠåçã«é 眮ãããŸãã 次ã®ç»åã¯ãã°ãªããã䜿çšããè»ã®è©³çŽ°ããŒãžã瀺ããŠããŸãã è¡ãšåã¯ãåçãªãã£ã¡ã³ã·ã§ã³ïŒèªåããã³ã¢ã¹ã¿ãªã¹ã¯ïŒã§å®çŸ©ãããŠããŸãã å³åŽã®ç»åã§ã¯ãããã¹ããµã€ãºã倧ãããªããã¬ã€ã¢ãŠããèªåçã«èª¿æŽãããŠããããšãããããŸãã
次ã®éšå