äœãæ°ãããã®ãžã®ææããWPFéçºè ããšã³ã³ãŒããããŠãããŒãµã«Windowsãã©ãããã©ãŒã çšã®ã¢ããªã±ãŒã·ã§ã³ãéçºããéã«åœŒããåŸ ã£ãŠããéãã«ã€ããŠèªããããšæããŸãã ã ãããã¢ãã¿ãŒã®åã«çŒ¶ã眮ããŠãç§ã¯ã€ã³ã¹ããŒã«ãå§ããŠããŸãã
ããã°ã©ãã³ã°èšèªãšãã©ãããã©ãŒã ã®ããã€ãã®å€æŽãé²è¡äžã§ãã CïŒããŒãžã§ã³10ããªãªãŒã¹ããããšæ³åããŠã¿ãŠãã ããã ããã¯ææ°ããŒãžã§ã³ã§ãã æç€ºïŒ çŽ¹ä»ããŸããã ãããŠãç§ã®æèŠã§ã¯ããããçºçããå Žåãèšèªã®ãã®ææ°ããŒãžã§ã³ã¯å®æçã«æŽæ°ãããŸãã
ã³ãŒãã®éãïŒXAMLã³ãŒãå ã§ãã£ãŠãïŒããå°ãç®ãé¢ãããäžæè°ãªãæããããŸãããWPFãSilverlightãWindows PhoneãWinRTããããŠä»ãUWPã§ãã æ··ä¹±ããªãéçºè ã¯äœäººããŸããïŒ ã»ãšãã©ã®éçºè ã¯ãã¹ãŠã念é ã«çœ®ããŠããããã§ã¯ãªããšæããŸãã ä»äºã®åºæ¬æŠå¿µãèŠããŠããã°ååã§ãã ã³ãŒãã£ã³ã°ã«é¢ããŠã¯ãIntelliSenseãBlendãªã©ã®è£å©ããŒã«ã䜿çšãããŸãã ã¹ããããã䜿çšããŠã©ãã«ãè¡ããªãã§ãã ããã
å€æŽã®çç±ã¯äœã§ããïŒ
1.æ害ãªåç¶ãã©ããã«åº§ã£ãŠã誰ããéçºãã©ãããã©ãŒã /ç°å¢ã«æ £ããç¬éãåŸ ã£ãŠããŸãã ãããŠã圌ã¯äœããå€ããŸãã
2.æ¹å/æ°æ©èœã
3.ãŠãŒã¶ãŒãŸãã¯éçºè ããã®ãã£ãŒãããã¯ïŒç§ã¯æ°ã«å ¥ããªãã£ãã®ã§ãããã ãã§ãïŒã ãã°ä¿®æ£ã
4.ããŒããŠã§ã¢ã¯æ¹åãããŠããŸãã çãšããããã©ãŒãã³ã¹ããŸãã¯çŸããå¹æãéèŠã
5.ã°ããŒãã«ãªäœãã ããšãã°ãUWPã§ã®æåŸã®ãã©ãããã©ãŒã çµ±åããŸãã¯ãCïŒã«Xamarinããã€ãã¹ããŠãã¹ãŠã®ãã©ãããã©ãŒã ã«äžåºŠã«æžã蟌ã¿ããã®ã§ãä»ã®ãã©ãããã©ãŒã ãšåæ§ã®æ°ããã³ã³ãããŒã«ãè¿œå ããŸããããªã©ã§ãã ããããæ°å¹ŽåŸã«ã¯ãããªãã§ãããã
6.ã³ã¡ã³ãã«ããŒãžã§ã³ãèšå ¥ããŸãã
éçºè ãUWPã®ç¥èãå¿ èŠãšããã®ã¯ãªãã§ããïŒ ã¯ãããã.Netã¢ããªã±ãŒã·ã§ã³ã§APIãšUWPãµãŒãã¹ãè¿ãå°æ¥äœ¿çšããããšãã§ããããã§ãã Project Cenntenialã䜿çšãããšããã®ãã¹ãŠãããã«å¯èœã«ãªãå¯èœæ§ããããŸãã
ãã®ãããæ°ãããã©ãããã©ãŒã ã«ç²Ÿéããããšã¯ããªãå¯èœã§ãã ããã€ãã®éãã説æããçãé 足ãããŠã¿ãŸãããã
ãŸããUWPã¢ããªã±ãŒã·ã§ã³ã«ã¯ãåŸæ¥ã®Windowsã¢ããªã±ãŒã·ã§ã³ã«ã¯ãªããã®ããããŸã-ã¢ããªã¢ãã«ããããŸãã ã¢ããªã¢ãã«ãšã¯äœã§ããïŒ ããã¯äžçš®ã®èŠå¶ã§ãã ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®æ©èœã®èª¬æ-ã¢ã¯ã»ã¹æš©ãã€ã³ã¹ããŒã«æ¹æ³ãæŽæ°æ¹æ³ãæ å ±ã®ä¿åãªã©ã
Windowsã¹ãã¢ã¢ããªã±ãŒã·ã§ã³ã¯ãUWPã¢ããªã±ãŒã·ã§ã³ãšåæ§ã«ãã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®æ©èœãšæš©éãèšè¿°ãããããã§ã¹ããã¡ã€ã«ãæã£ãŠããŸãã ããã¯Package.appxmanifestãã¡ã€ã«ã§ãã ã°ã©ãã£ã«ã«ãšãã£ã¿ãšXMLã³ãŒãã®äž¡æ¹ã®åœ¢åŒã§ç·šéã§ããŸãã ç»åãšãã£ã¿ã®ã¹ã¯ãªãŒã³ã·ã§ããã¯ä»¥äžãã芧ãã ããã
ã³ã³ãããŒã«
ãåç¥ã®ããã«ãããæè¿ã®Windows 8ããã³8.1ã«ã¯ãã£ãŒã ããã«ããããŸãããããã¯éæ³ã®ããã«ã§ãã
çŸåšã§ã¯ããã®ä»£ããã«ãWPFéçºè ã«ãã銎æã¿ã®ããã³ã³ãããŒã«ã䜿çšãããŠããŸãã
ããã§ãæ°ããã³ã³ãããŒã«ã¯ContentDialogã§ãããMessageBoxããããã¯ããã®ãšåæ§ã«ãã¢ããªã±ãŒã·ã§ã³ããããã¯ããŸãã
ããã«ãUWPã§ã¯ãããã²ãŒã·ã§ã³ã¯WPéçºè ã«ãšã£ãŠãã䜿ãæ £ããŠããŸãã
ããããããã«æãããããããŸããããããã€ãã®ã³ã³ãããŒã«ã¯ãç°ãªãããã€ã¹ã«è¡šç€ºããããšãã«ç°ãªãå€èŠ³ãæã€ããšããããŸãã ç°¡åã«èšãã°ãã³ã³ãããŒã«ã¯ããã¹ã¯ããããšã¢ãã€ã«ããã€ã¹ã«è¡šç€ºãããå Žåãªã©ãå°ãç°ãªã£ãŠèŠããå ŽåããããŸãã
äžè¬çã«ãå¹³åçãªéçºè ã¯ãããŸããŸãªã³ã³ãããŒã«ã«é·ãéæ £ããŠãããšæããŸãã æ°ããªå°é£ã®çºçã¯åŒãèµ·ããã¹ãã§ã¯ãããŸããã
åçš®ããã€ã¹ã®éçº
WPFéçºè ã«ãšã£ãŠçããããšãèŠã€ããããšããŸãã ããšãã°ãããã¯ãWindows 8.1ã¢ããªã±ãŒã·ã§ã³ãéçºãããšãã«ãé»è©±ãšãã¹ã¯ãããã®äž¡æ¹ãåæã«éçºããããšãã§ãããœãªã¥ãŒã·ã§ã³ã§ããã
ãã®å Žåã3ã€ã®ãããžã§ã¯ããäœæãããŸããã WPããã³WinRTã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããã¥ãŒãã®xamlã³ãŒããšããã€ã¹ã®ããã€ãã®ç¹å¥ãªã³ãŒããä¿åãããå ±éãããžã§ã¯ãã¯2ã€ã®ãããžã§ã¯ãã«å ±éã®å ±éxamlã³ãŒããšCïŒã³ãŒããä¿æããŠããŸããã
UWPãã©ãããã©ãŒã ã¯æ±çšã§ãããããããã€ã¹ã®çš®é¡ããšã«ãããã¥ãŒããé 眮ã§ãããã©ã«ããŒãäœæã§ããŸããã€ãŸãã ããã€ã¹ãã©ã¡ãŒã¿ã®èšèšãå«ãxamlãã¡ã€ã«ã
詳现ã¯ãã¡ãïŒ
CïŒ/ XAML Windows UWPã¢ããªã±ãŒã·ã§ã³ã§ããŸããŸãªããã€ã¹ã®ããŒã¯ã¢ãããèšå®ãã3ã€ã®æ¹æ³
ã©ã€ããµã€ã¯ã«
ãã©ãŒãã¥ã©1ã«é¢ããå€ããžã§ãŒã¯ããããŸãããã©ã«ãã·ã¥ãŒãããã«ã¯ããªã³ãšãªãã®2ã€ã®ããã«äœçœ®ããããŸãã æ®ãã®èŠå®ã¯ç¡èŠã§ããŸããã
ãã®ãžã§ãŒã¯ã䜿çšããŠãããã€ãã®å€å žçãª.Netã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã 圌ãã¯åããåããªããã®ã©ã¡ããã§ãã ã¹ãã¢ã¢ããªã¯å°ãç°ãªããŸãã ããªã³/ãªããç¶æ ã«å ããŠãäžéç¶æ ãäžæåæ¢ãããããŸãã 8.xããã³UWPã¢ããªã±ãŒã·ã§ã³ã®ã©ã€ããµã€ã¯ã«ã次ã®å³ã«ç€ºããŸãã
詳现ã¯ãã¡ãïŒ
Windows 8.1ããã³UWPã¢ããªã±ãŒã·ã§ã³ã®ã¢ããªã±ãŒã·ã§ã³ã©ã€ããµã€ã¯ã«
ããªã¬ãŒãšããã¯ã°ã©ãŠã³ããžã§ã
.Netã¢ããªã±ãŒã·ã§ã³ã¯ãå®è¡å¯èœãã¡ã€ã«ã§ããµãŒãã¹ã§ãããŸããŸããã ãããã¯ãŸã£ããç°ãªãçš®é¡ã®ã¢ããªã±ãŒã·ã§ã³ã§ãã ã€ãŸããexeã¢ããªã±ãŒã·ã§ã³ã¯ããã§ã¯ãªããããããŸããããåæã«ããã¯ã°ã©ãŠã³ãã§åäœããŸãã ãããããã¡ãããã¢ããªã±ãŒã·ã§ã³ã¯ãã¬ã€ã§åäœããŸãã ãããå®éã«ã¯ãå®è¡ãããŠãããæå°åãããŠããããšãããããŸãã
8.xããã³UWPã¢ããªã±ãŒã·ã§ã³ã«é¢ããŠã¯ãããã¯ã°ã©ãŠã³ããžã§ããå«ããããšãã§ããŸãã ããã¯ã°ã©ãŠã³ããžã§ãã¯ã¡ãã£ãšãããµãŒãã¹ã§ãã ã€ãŸããã¢ããªã±ãŒã·ã§ã³ã¯åäœããªãå¯èœæ§ããããŸãããã·ã¹ãã ã§ããã€ãã®ã¿ã¹ã¯ãå®è¡ãããŸãã ããã«ãããã¯ã°ã©ãŠã³ãã¿ã¹ã¯ã¯ãã·ã¹ãã ã®æäœäžã®äžéšã®ã€ãã³ããããªã¬ãŒãšããŠããã£ãããã§ããŸãã
æã人æ°ã®ããããªã¬ãŒã®1ã€ã¯SystemTriggerã§ãã ããã䜿çšãããšãã¢ããªã±ãŒã·ã§ã³ã¯ãã€ã³ã¿ãŒãããã®åºçŸãåªå€±ããããã¯ãŒã¯ã®ç¶æ ã®å€åããŠãŒã¶ãŒã®æ¥ç¶ãŸãã¯åæãSMSã®åä¿¡ãã¿ã€ã ãŸãŒã³ã®å€æŽãªã©ã®ã€ãã³ããçºçãããšãã«ãä»»æã®ã³ãŒããå®è¡ã§ããŸãã
TimeTriggerãšMaintenanceTriggerãéåžžã«äººæ°ããããŸãã äž¡æ¹ã®ããªã¬ãŒã¯ãäžå®ã®æéééã§ä»»æã®ã³ãŒããå®è¡ããŸãã æéééã¯å°ãªããšã15åã§ãªããã°ãªããŸããã éãã¯ãTimeTriggerã§ã¯ããã¯ç»é¢ã«ã¢ããªã±ãŒã·ã§ã³ãç»é²ããå¿ èŠããããMaintenanceTriggerã§ã¯ããã€ã¹ãããããªãŒã§ã¯ãªããããã¯ãŒã¯ããåäœããå¿ èŠãããããšã§ãã
UWPã«ã¯å€ãã®æ°ããããªã¬ãŒããããŸãã ããšãã°ã MediaProcessingTriggerãªã©ã®èå³æ·±ãããªã¬ãŒãèããŠã¿ãŸããããããã«ãããã¢ããªã±ãŒã·ã§ã³ã¯ããã¯ã°ã©ãŠã³ãã¿ã¹ã¯ã®äžéšãšããŠãã«ãã¡ãã£ã¢ããã©ã³ã¹ã³ãŒãã§ããŸãã
ã©ã€ãã©ãªã䜿çšãã
åŸæ¥ã®ã¢ããªã±ãŒã·ã§ã³ã§DLLã䜿çšããŠããå Žåã8.xããã³UWPã¢ããªã±ãŒã·ã§ã³ã§ã¯ãPCLãšWinMDã©ã³ã¿ã€ã ã³ã³ããŒãã³ãã®äž¡æ¹ã䜿çšã§ããŸãã éãã¯äœã§ããïŒ
PCLïŒããŒã¿ãã«ã¯ã©ã¹ã©ã€ãã©ãªïŒã¯ãããŸããŸãªãã©ãããã©ãŒã ã®ã¢ããªã±ãŒã·ã§ã³ã«è¿œå ã§ããŸãã ãããŠãããŸããŸãªããŒãžã§ã³ã®.Net Frameworkãããã³Windows 8.xããã³WPãUWPãããã«ã¯iOS / Androidã¢ããªã±ãŒã·ã§ã³Xamarinã®äžã§ã ã€ãŸããäžè¬çãªãã©ãããã©ãŒã ã«äŸåããªãã³ãŒãããã®ã©ã€ãã©ãªã«ããã·ã¥ã§ããŸãã
WinMDã¯ã8.xãŸãã¯UWPã§ã®ã¿äœ¿çšã§ããŸãã ã¢ããªã±ãŒã·ã§ã³ãèšè¿°ãããŠããèšèªã«é¢ä¿ãªããWinMDãšé£æºã§ããŸãã ããããWinMDèªäœã«è€éãªèšç®ãå«ãŸããå Žåãæé«ã®ããã©ãŒãã³ã¹ãå®çŸããã«ã¯C ++ã§èšè¿°ããæ¹ãé©åã§ãã
ãã ããUWPçšã«éçºããå Žåãã¯ã©ã¹ã©ã€ãã©ãªïŒDLLïŒãäœæã§ããŸãã
ããŒã¿ãæäœãã
UWPã¢ããªã±ãŒã·ã§ã³ã®éãã¯ãããŒã¿ããŒã¹ãšçŽæ¥é£æºããªãããšã§ãã ã€ãŸããçµç¹ã®ãµãŒããŒã«ããSQL ServerãOracleãªã©ã®ããŒã¿ããŒã¹ã¯äœ¿çšã§ããŸããã ãã ãããŠãŒã¶ãŒãã¹ãã¢ããã¢ããªã±ãŒã·ã§ã³ãããŠã³ããŒãããããŒã«ã«ãããã¯ãŒã¯äžã®ãµãŒããŒã«ããSQL ServerããŒã¿ããŒã¹ã§ã¢ããªã±ãŒã·ã§ã³ãåäœãå§ãããšãå¥åŠãªããšã«ãªããŸãã ãã ããWebãµãŒãã¹ã䜿çšããŠããŒã¿ãæäœã§ããŸãã MySQLããŒã¿ããŒã¹ã«Oracle Connector / Netã䜿çšããããšã¯å¯èœã§ãããçŸåšSSLããµããŒãããŠããªããããç¹ã«èå³æ·±ããã®ã§ã¯ãããŸããã ãã®ãããããŒã¿ã«ã¢ã¯ã»ã¹ããããã«ãµãŒãã¹ã䜿çšãããšããæŠå¿µããéžè±ããªãããšããå§ãããŸãã
SQLiteã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³å ã«æ å ±ãä¿åã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³èšå®ã®ä¿åãšãã¡ã€ã«ã®æäœ
ã¢ããªã±ãŒã·ã§ã³ãã©ã¡ãŒã¿ã®ä¿åã¯ãããã€ã¹ã ãã§ãªãã¯ã©ãŠãã§ãå¯èœã§ãã ãããã£ãŠãã¢ããªã±ãŒã·ã§ã³ãããŸããŸãªããã€ã¹ã§å®è¡ãããšãèšå®ã¯ã©ãã§ãåãã«ãªããŸãã
次ã®å°ããªã¹ããããã¯ãã¯ã©ãŠãå ã®ã³ãŒãåŒã³åºãã®æ°ãä¿åããŸãã
int timescount = 0; Object roamS = Windows.Storage.ApplicationData.Current.RoamingSettings.Values["times"]; if (roamS != null) timescount = (int)roamS; timescount++; Windows.Storage.ApplicationData.Current.RoamingSettings.Values["times"] = timescount;
Windows.Storage.ApplicationData.Current.RoamingSettingsãWindows.Storage.ApplicationData.Current.LocalSettingsã«çœ®ãæãããšããã©ã¡ãŒã¿ãŒã¯ããã€ã¹ã«ããŒã«ã«ã«ä¿åãããŸãã
èšå®ã¯ãè€åãã©ã¡ãŒã¿ãŒãšã³ã³ãããŒã®äž¡æ¹ã«çµã¿åãããããšãã§ããŸãã èšå®ãšåãæ¹æ³ã§ãã¡ã€ã«ãããŒã«ã«ãã©ã«ããŒãšã¯ã©ãŠãã®äž¡æ¹ã®ããã€ã¹ã«ä¿åã§ããŸãã ãã ããããã«å ããŠãäžæãã©ã«ããŒã«ãã¡ã€ã«ãä¿åããããšãã§ããŸãããã®ãã©ã«ããŒã¯ãå¿ èŠã«å¿ããŠãã·ã¹ãã ïŒ ApplicationData.TemporaryFolderïŒã§ã¯ãªã¢ã§ããŸã ã
ããã«ãã¢ããªã±ãŒã·ã§ã³ã«å«ãŸããŠãããã©ã«ããŒã«ã¢ã¯ã»ã¹ããããšãã§ããŸã
Windows.ApplicationModel.Package.Current.InstalledLocation
ãã£ã¹ã¯ã«ä¿åãããŠãããã¡ã€ã«ãžã®ã¢ã¯ã»ã¹ããç¹å¥ãªã¢ãã«ã«åŸã£ãŠç·šæãããŠããŸãã ããã¥ã¡ã³ããåçããããªãªã©ã®ãã©ã«ããŒã®ã³ã³ãã³ãã¯ãKnownFoldersã¯ã©ã¹ã䜿çšããŠååŸã§ããŸããããã®å Žåããããã§ã¹ãã§ã¢ã¯ã»ã¹èš±å¯ãèšå®ããå¿ èŠããããŸãã ä»ã®ãã©ã«ããžã®ã¢ã¯ã»ã¹ã¯ããŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ã§äœæ¥äžã«èªåã§ãã©ã«ããéžæããå Žåã«ã®ã¿å¯èœã§ãã ã¢ã¯ã»ã¹ãããã©ã«ãã¯ä¿åã§ãããããã¢ããªã±ãŒã·ã§ã³ãåèµ·åãããšãã«ããŠãŒã¶ãŒã«äžèŠãªã¢ã¯ã·ã§ã³ã匷å¶ããããšã¯ãããŸããã
var folderPicker = new Windows.Storage.Pickers.FolderPicker(); folderPicker.FileTypeFilter.Add(".jpg"); folderPicker.FileTypeFilter.Add(".jpeg"); folderPicker.FileTypeFilter.Add(".png"); folderPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary; folderPicker.SettingsIdentifier = "picker2"; Windows.Storage.StorageFolder lastFolder = await folderPicker.PickSingleFolderAsync(); if (lastFolder == null) return; String mruToken = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(lastFolder);
ãã®åŸã次ã®ããã«æåŸã«ä¿åããããã©ã«ããŒãååŸã§ããŸãã
String mruFirstToken = StorageApplicationPermissions.MostRecentlyUsedList.Entries.FirstOrDefault().Token; lastFolder = await StorageApplicationPermissions.MostRecentlyUsedList.GetFolderAsync(mruFirstToken);
ããŒã¿ãã€ã³ãã£ã³ã°
WPFã¢ããªã±ãŒã·ã§ã³ãšUWPã¢ããªã±ãŒã·ã§ã³ãããã³8.xã®éçºã®äž¡æ¹ã§ãããŒã¿ãã€ã³ãã£ã³ã°{binding}ã䜿çšã§ããŸãã ããããã³ã³ãã€ã«ããããã€ã³ãã£ã³ã°ã¯UWPã«ãç»å ŽããŸãã-{xïŒbind}éãã¯äœã§ããïŒ ã³ã³ãã€ã«ããããã®ã¯ã¯ããã«é«éã«åäœããŸãããã¢ããªã±ãŒã·ã§ã³ã®èµ·åäžã§ã¯ãªãã³ã³ãã€ã«äžã«åœ¢æ/ãã§ãã¯ãããŸãã ãŸãã匷ãåä»ããããŠããŸãã
詳现ã¯ãã¡ãïŒ
Windows 10ã¢ããªã±ãŒã·ã§ã³ã§ã³ã³ãã€ã«ãããããŒã¿ãã€ã³ãã£ã³ã°
æå¹ãã¯ã»ã«
UWPã¢ããªã±ãŒã·ã§ã³ãäœæããããšã«ãããç©ççãªãã¯ã»ã«ã§ã¯ãªããæå¹ãªãã¯ã»ã«ã§éçºããããšã«ãªããŸãã ç¹å¥ãªã¹ã±ãŒãªã³ã°ã¢ã«ãŽãªãºã ã䜿çšãããšã24ãã¯ã»ã«ã®ãã©ã³ããµã€ãºã倧ããªPCç»é¢ãšé»è©±ç»é¢ã®äž¡æ¹ã§çããèªã¿åããããšãä¿èšŒã§ããŸãã
ãããã£ãŠãéçºè ã¯ãããŸããŸãªããã€ã¹ã®ãã¯ã»ã«å¯åºŠã衚瀺è·é¢ãæ°ã«ãããªãããšããããŸãã ãããã圌ã¯é«è§£å床ã®ç»åãåããããã€ã¹ã§èŠæ ããè¯ãããå¿ èŠããããŸãã äœæããã°ããã®æšæºçãªãŠãããŒãµã«ã¢ããªã±ãŒã·ã§ã³ã®Assetsãã©ã«ããŒãèŠãŠã¿ãŸãããã
äžéšã®ç»åã«ã¯ã.scale-200ã®æ¥å°ŸèŸãä»ããŠããããšããããŸãã ããã¯ãã¹ã±ãŒãªã³ã°ãµã€ãºã200ã«èšå®ãããŠããããšãæå³ããŸããããšãã°ããã¡ã€ã«Square44x44Logo.scale-200.pngã䜿çšãããšããã®ç©çãµã€ãºã¯88x88ãã¯ã»ã«ã«ãªããŸãã ããã¯200ïŒ ã®ã¹ã±ãŒã«ã§ãã å©çšå¯èœãªãªãã·ã§ã³ã¯ãã¹ãŠã100ã125ã150ã200ã250ã300ã400ã§ãã
äŸïŒãºãŒã ãã¡ã¯ã¿ãŒ150ã®ããã€ã¹çšã®ç»åããªã¢ã³ããäœæããå Žåããµã€ãº66x66ã®ç»åãäœæããSquare44x44Logo.scale-150.pngãšããååãä»ããå¿ èŠããããŸãã
ããã¯ãã¢ããªã±ãŒã·ã§ã³ã®èª¬æã§äœ¿çšãããç»åã ãã§ãªããUIã§äœ¿çšããç»åã«ãé©çšãããŸãã
ãããã«
å®éãUWPã®ãã¹ãŠã®æ°æ©èœã¯ããªãé·ãéåæãããŠããŸããïŒAdaptiveããªã¬ãŒãSplitviewãInkãMapãªã©ã«èšåã§ããŸãïŒã çãèšäºã§ãWPFãšã®äž»ãªéããšããã€ãã®é¡äŒŒç¹ã®äž¡æ¹ã«ã€ããŠè©±ããããšæããŸãã