Windows Template Studioã§ã¯ãããŸããŸãªãããžã§ã¯ãã¿ã€ãïŒç©ºçœãããã²ãŒã·ã§ã³ãã€ã³ãããããïŒã§Windows Community ToolkitControlã䜿çšããŠMasterDetailããŒãžãäœæããŠããŸãã
ããã²ãŒã·ã§ã³ãã€ã³ã§ã¯ãSDKNavigationViewã®ä»£ããã«WinUINavigationViewãçµ±åããæ»ãããã²ãŒã·ã§ã³ã[ã·ã¹ãã ã«æ»ã]ãã¿ã³ããNavigationViewã«æ»ããã¿ã³ã«ç§»åããããã®ããŸããŸãªæŠå¿µå®èšŒãäœæããŠããŸãã
Systeããã²ãŒã·ã§ã³ãã¿ã³ã®äœ¿çšãåæ¢ããŠNavigationViewãã¿ã³ã®ã¿ã䜿çšããããã«MasterDetailã³ã³ãããŒã«ãæå®ããæ¹æ³ãç¥ããããšæããŸãã
å ã®åé¡ãèªãã§ã PoCAppãå ¥æã§ããŸãã
Windows 10ãã«ãçªå·ïŒ
ã¢ããªã®æå°å€ãšã¿ãŒã²ããããŒãžã§ã³ïŒ
@skendrotã¯ããã§å©ããããšãã§ãããããããŸãã
@skendrotã¯å¿ããããã§ãããä»ã®èª°ãããããèŠãããšãã§ããŸããïŒ @nmetulev ïŒ
ãããäŒæäžã ã£ããè¿œå ã®pingãããããšãã ç§ãã¡ã¯çŸåšãããåŠçããŠãããšã¯æããŸããããããã¯ç§ãã¡ããã£ãŠããããšã«ã€ããŠè©±ããŠããããšã§ãã ã·ã¹ãã ã®æ»ããã¿ã³ã®è¡šç€º/é衚瀺/䜿çšããªãã«ããæ¹æ³ã«ã€ããŠè©±ããŸããã ããããæ°ããããã²ãŒã·ã§ã³ãã¥ãŒãšçµ±åã§ãããããããªãããšãããããŸããã
次ã®ããšã«ã€ããŠã©ãæããŸããã
æ»ããã¿ã³ãå¶åŸ¡ããåæåããããŸã
ã·ã¹ãã ãNavigationViewããªã
ç§ã¯åäœãå¶åŸ¡ããåæåãæã£ãŠããã®ã奜ãã§ããããã¯ãããåŠçããããã®æãéçºè ã«åªããæ¹æ³ã®ããã§ãã ãããå®å šã«ãªãã«ããŠãéçºè ã«ããã¯ããã²ãŒã·ã§ã³ãåŠçãããæ¹æ³ãããããšã¯ãããã«ã¯ãµããŒãã§ããªãå°æ¥ã®ã·ããªãªã«ãæå³ããããŸã
ãã®ããã®åæåãçšæããããã©ã«ãã§ã·ã¹ãã ã®æ»ããã¿ã³ããªãã«ããŠãéçºè ãå¿ èŠã«å¿ããŠãªã³ã«ã§ããããã«ããŠã¯ã©ãã§ããããã ããã¯ãNavigationViewå ã®æ°ããæ»ããã¿ã³ã®ããã²ãŒã·ã§ã³ãä»åŸã®ããã¥ã¡ã³ãã§æšå¥šãããŠããããã§ãã
IMOãæ°ããããã²ãŒã·ã§ã³ãã¥ãŒãæ€åºã§ããªãéããæ¢åã®ãŠãŒã¶ãŒã®åäœãå€æŽãããŸãã @skendrot ãã©ãæããŸããïŒ
ãããããã¯å ¬æ£ãªç¹ã§ããæ¢åã®ãŠãŒã¶ãŒããã§ãã¯ããããšãéåžžã«éèŠã§ããç§ã¯åæããŸãã
ããã¯æåã®ã³ã¡ã³ãã§èšåãããŸããã çŸç¶ã®ãŸãŸã«ããŸãããèŠèŠçãªèŠªãšããŠæ°ããNavigationViewããããã©ããã確èªããŸãã ãã®å Žåã¯ãã·ã¹ãã ã®æ»ããã¿ã³ã§ã¯ãªããæ»ããã¿ã³ã«äœ¿çšããå¿ èŠããããŸãã éçºè ãèªåã§ãã¹ãŠãå¶åŸ¡ãããå Žåã¯ãå®å šã«ãªãã«ããæ¹æ³ãæäŸããå¿ èŠããããšæããŸã
ã¯ã@skendrotãªãã·ã§ã³ã¯åžžã«æè»æ§ããããäž»èŠãªç§»è¡ãè¡ããšãã«ç¹å¥ã«
ã©ã®ãªãã·ã§ã³ã決å®ãããŠããç§ã¯ãããã³ã³ãããŒã«ã«å ¥ããŸãã ç§ãã¡ã¯æ±ºããå¿ èŠããããŸããç§ãã¡ã¯è¡ãã€ããã§ãã
ðã1ã«ãðã2ã«æ祚ããŠãã ãã
ããã2ã€ãçµã¿åãããåæåã䜿çšããŠã次ã®3ã€ã®å€ãæå®ããŠæ»ããã¿ã³ã®ç¹ç¯æ¹æ³ãå¶åŸ¡ããŸãã
èªåãã¬ã¬ã·ãŒããªãã§ã¯ãªããäœãããããæ確ãªåæåãªãã·ã§ã³ãæäŸããããšããå§ãããŸãã äŸãã°
BackButtonBehaviourïŒ
ã³ã³ãããŒã«å ã«æšæºã¹ã¿ã€ã«ã®æ»ããã¿ã³ã衚瀺ããã¬ã€ãã³ã¹ã«åŸã£ãŠã DisplayInlineãããã©ã«ãã«ãªããŸãã ããã¯ãã²ãŒã ãããã®Bãã¿ã³ããŸãã¯ã³ã³ãããŒã«ã«ãã©ãŒã«ã¹ãããå Žåã¯ããŒããŒãã®ããã¯ã¹ããŒã¹ããŒã§ãæ©èœããŸãã
UseExternalã䜿çšãããšãã³ãŒããèªåã§é 眮ããæ»ããã¿ã³ã³ã³ãããŒã«ãã·ã§ã«ã³ã³ãããŒã«ïŒæšæºãŠã£ã³ããŠã®å Žåã¯ã¿ã€ãã«ããŒãã»ãããŠã£ã³ããŠã®å Žåã¯äžã®ããŒïŒããŸãã¯å¥ã®ã³ã³ãããŒã«ããèšå®ã§ããŸãã XAMLã§ã³ã³ãããŒã«åãæå®ããŠããã®ã³ã³ãããŒã«ã®[æ»ã]ãã¿ã³ãæŒãããã€ãã³ããããªã¬ãŒããŠãªãŒããŒã©ã€ãã§ããããã«ã§ãããšæããŸãã
BackDisabledã¯ãããã¯ããã²ãŒã·ã§ã³ãå®å šã«ç¡å¹ã«ããŸãã
ãã³ãã¬ãŒã10ã®ãããªéçºè ããããžã§ã¯ãã¯ãæ»ããã¿ã³ã®äœ¿çšãå¶åŸ¡ã§ããããã«èšå®ãããããŒãžãŸãã¯ãã³ãã¬ãŒãããŒãžãäœæã§ããŸãã
@mdtaukã«åæããŸãïŒ
@mdtaukã¯ããééããªããã®ææ¡ã¯ããçã«ããªã£ãŠããããã匷åã«æããŸãã
ã³ã³ãããŒã«å ã«æ»ããã¿ã³ãäœæããŠãåé¡ãããŸãããããã¯ãçŸåšã®æ»ããã¿ã³ã®ã¬ã€ãã³ã¹ãšäžèŽã
ãã ããNavigationViewã®æ»ããã¿ã³ã®èªååŠçãæäŸããå¿ èŠããããŸãã æ»ãããã²ãŒã·ã§ã³ãç¡å¹ã«ããã®ã¯æå³ããªããšæããŸããããã¯ãŠãŒã¶ãŒãåŠçããå¿ èŠããããã®ã§ãã
ãããç§ã®æŽæ°ãããææ¡ã§ã
åæåïŒBackButtonHandling
èªåïŒããã©ã«ãïŒ-NavigationViewã芪ã§ãªãéããã€ã³ã©ã€ã³ãã¿ã³ã䜿çšããŠãããNavigationViewã®æ»ãããã²ãŒã·ã§ã³ã䜿çšããŸã
ã€ã³ã©ã€ã³-ã€ã³ã©ã€ã³ãã¿ã³ã䜿çšããŸã
ã¬ã¬ã·ãŒ-ã·ã§ã«ããé¢ããŠããªãéçºè ã®ããã«ãã·ã§ã«ã®æ»ããã¿ã³ããµããŒãããŠããããšã確èªããå¿ èŠããããŸã
æå-ãŠãŒã¶ãŒãèªåã®æ»ããã¿ã³ãæç»ããŠã奜ããªããã«å®è¡ã§ããããã«ããŸã
Legacy
代ããã«System
ãŸãã¯SystemAppViewBackButton
ãŸãã¯AppView
ãŸãã¯ä»ã®äœã
ãŸããäžäœäºææ§ãç¶æããé倧ãªå€æŽãå ããªãããã«ãããã©ã«ããã¬ã¬ã·ãŒãªãã·ã§ã³ã«ããã¹ãã§ã¯ãããŸããã 次ã«ã次ã®ã¡ãžã£ãŒããŒãžã§ã³ã§ãããã©ã«ããèªåã«å€æŽã§ããŸã
ç§ã¯ã¬ã¬ã·ãŒãããã·ã¹ãã ã®æ¹ã奜ãã§ããããã¯ã¯ããã«è¯ãã§ã
次ã®ããŒãžã§ã³ã¯ã¡ãžã£ãŒã¢ããããŒãïŒ5.0ïŒãªã®ã§ãã©ã¡ãã®æ¹æ³ã§ãããã©ã«ãå€ã«ã€ããŠã¯ç¹ã«æ°ã«ãªããŸããã ããã©ã«ããã·ã¹ãã ã®ãŸãŸã«ããŠã6.0ã§ããã©ã«ããèªåã«å€æŽããŠãåé¡ãããŸããã
ãããŠãã·ã¹ãã ã®æ»ããã¿ã³ãå°æ¥ã®ãªãªãŒã¹ïŒ6.0ïŒã§éæšå¥šã«ãªããšããèŠåãšããŠããã®ãããªéç¥ãããå¯èœæ§ããããŸããïŒ ãŸãã¯ãã»ããããªãªãŒã¹ãããåŸïŒãããã2019幎4æã®ãªãªãŒã¹ïŒã§ããã·ã¹ãã ã®æ»ããã¿ã³ã¯åžžã«ãªãã·ã§ã³ã«ãªããŸããïŒ
ãã©ãããã©ãŒã ããéæšå¥šã«ãªããŸã§ãã·ã¹ãã ã®æ»ããã¿ã³ã¯ããããéæšå¥šã«ãªããŸããã
ã»ããã䜿çšããŠããã·ã¹ãã ã®æ»ããã¿ã³ã¯éæšå¥šã§ã¯ãããŸããã æ»ããã¿ã³ãä»ããã¿ãã®äžã®ããŒã«é 眮ããã ãã§ãã ãã ããã»ãããããå Žåã¯ã絶察ã«ã¢ããªå ãã¿ã³ã«åãæ¿ããå¿ èŠããããŸã
ããã§ããæ確ã«ããå¿ èŠããããŸãããã©ãããã©ãŒã ãããéæšå¥šã«ãªãå Žåã«ã®ã¿ãåæåãããªãã·ã§ã³ãéæšå¥šã«ããå¿ èŠããããŸãïŒããããäºå®ã¯ãªããšæããŸãïŒ
ã©ããã1ã€ã®æ»ããã¿ã³ã ãã®ããŒã«ããŒå šäœããããŸãïŒã»ããã®å ŽåïŒïŒ ãããšããããå€ãã®ãã©ãããã©ãŒã ã³ã³ãããŒã«ããããŸããïŒ
ã©ããã1ã€ã®æ»ããã¿ã³ã ãã®ããŒã«ããŒå šäœããããŸãïŒã»ããã®å ŽåïŒïŒ ãããšããããå€ãã®ãã©ãããã©ãŒã ã³ã³ãããŒã«ããããŸããïŒ
ã·ã§ã«ãè¿œå ããè¿œå ã®ã³ã³ãããŒã«ãç¥ããŸããã ããããããã¯ããã¯ããã²ãŒã·ã§ã³ã®ãšã¬ã¬ã³ããªãœãªã¥ãŒã·ã§ã³ãšã¯ã»ã©é ãããã§ããã¬ã€ãã³ã¹ã¯ã¢ããªã§åŠçããããšã§ãã
ããªããããã«ã€ããŠèãããªãã°ãæ»ããã¿ã³ã¯ã»ããã¿ãå ã§ã¹ã³ãŒããããŠããŸãã ã¿ãã®æšªã«ã¯è¡šç€ºãããªããããã¿ã€ãã«ããŒã«ã¯è¡šç€ºãããŸããã
ãããããã«ã¯ç¡é§ãªUIã¹ããŒã¹ãå€ãããŠããã¿ã³ã1ã€ãããªãããã«èŠããŸãã
@touseefbsbçŸæç¹ã§ã¯ãã·ã§ã«ã«[ã»ãã]ãŠã£ã³ããŠã§[æ»ã]ãã¿ã³ãåŠçãããããšãéžæããå Žåã®æšæºçãªåäœã¯
ç§ãåæããŸãããã®ãããã¿ã€ãã«ããŒããé¢ããŠãã¢ããªãã¿ã€ãã«ããŒã«ãŸã£ããæ¡åŒµããªãããšã§ãã¢ããªãã»ããã§é©åã«äœ¿çšã§ããããã«ãªããšæããŸãã
ã»ããã¯19H1ãªãªãŒã¹ã«å°éããªãå¯èœæ§ããããããåœé¢ã¯ãã¢ããªã®èŠæ ããè¯ãããå¯èœãªå Žåã¯ã¿ã€ãã«ããŒã«æ¡åŒµããããšãéèŠã§ãã éçºè ã¯ãã¢ããªãã»ããã§åäœããããšãèš±å¯ããªãããšãéžæã§ãããããã³ã³ãããŒã«ã«æè»æ§ãæããã[ã»ãã]ã¿ãã§å®è¡ãããšãã«ããã©ã«ããå€æŽ/ãªãŒããŒã©ã€ãããããšã¯çã«ããªã£ãŠããŸãã å°ãªããšãç§ã«ã¯ããã§ãç¬
@mdtaukéçºè ãã¢ããªãã»ãããããªããã¢ãŠãããå Žåãããã¯ã¢ããªãã»ããã§éãããªãããšãæå³ããŸããïŒ
@touseefbsbãããç§ããããç解ããæ¹æ³ã§ãã å¥ã®ã¿ãããéããšãããã¯ç¬èªã®ãŠã£ã³ããŠã«è¡šç€ºãããä»ã®ã¿ããšäžç·ã«ä¿åããããšãã§ããŸããã
æ°ããNavigationViewããµããŒãããããã®å°ããªè€éãã BackRequested
ã€ãã³ããã³ãã©ãŒã«ã¯ãã€ãã³ãããã£ã³ã»ã«ããããã€ãã³ããåŠçãããããšãããŒã¯ãããããæ¹æ³ãå«ãŸããŠããŸããã ãã®æ©èœããªããšãMasterDetailsViewã¯è©³çŽ°ãã¥ãŒãããã¹ã¿ãŒãã¥ãŒãžã®ç§»åãåŠçããéçºè
ã¯ç¶æ
ã«æ»ãããšãåŠçããŸãã
ããã²ãŒã·ã§ã³ãæ¯æŽããããã«ãã¬ãŒã ã䜿çšãããŠããIFFããµããŒãã§ããŸãã
@mvegaca ãã³ã³ãããŒã«ããã¹ãããããã«ãã¬ãŒã ã䜿çšããŠããŸããïŒ ä»£ããã«NavViewã§åŠçããããšãããšããã¬ãŒã ã§åŠçããŸãïŒNavViewã®å€éšã®ã·ããªãªãåŠçããå¿ èŠããããŸãïŒã
ãã§ã«ãã¬ãŒã ããã²ãŒã·ã§ã³ãåŠçããŠããã®ã§ãããã¯ãã§ã«çµã¿èŸŒãŸããŠããŸãããã¬ãŒã ãååšããªãéããæ°ããNavigationViewã®äœ¿çšã«äŸåããããšã¯ã§ããŸããã
ã§ã¯ãWTSãNavViewå ã®ããã²ãŒã·ã§ã³ã«ãã¬ãŒã ã䜿çšããŠããå Žåãããã¯ãã§ã«æ©èœããŠããã¯ãã§ããïŒ
ã¯ããäžèŠãªè¿œå æ©èœããããŸãã MasterDetailsViewã¯ãWTSãæãŸãªãã·ã¹ãã ã®æ»ããã¿ã³ãæå¹ã«ããŸãã ãã ãããã¬ãŒã å ã移åããŠNavigationViewã®æ»ããã¿ã³ãåŠçããå ŽåãMasterDetailsViewã¯ãã®ã€ãã³ãããã£ããããæããããŸãã詳现ç¶æ ã®å Žåã¯ããã£ã³ã»ã«ãšããŠããŒã¯ããŠãã¹ã¿ãŒãã¥ãŒã«æ»ããŸãã
ç§ãã¡ïŒWTSïŒã¯ãNavViewå ã®ãã¬ãŒã ã䜿çšããŠããŸãã navviewã®æ»ããã¿ã³ã¯ãã§ã«æ©èœããŠããŸãããè¿œå ã®ã·ã¹ãã ã®æ»ããã¿ã³ã衚瀺ãããŠããŸãã æ»ãããã²ãŒã·ã§ã³ãåŠçããããã«Frame.GoBackãå®è¡ããŸãããåé¡ã¯æ»ãåã«è¡šç€ºãããã·ã¹ãã ã®æ»ããã¿ã³ã§ãã ã ãããç§ãã¡ãå æ°ãã©ããã¯ããããŸããã ããããã¹ãããæ¹æ³ã¯ãããŸããïŒ
ãããããã¯@skendrotã®PRãä¿®æ£ããŠããåé¡
ããã«ã¡ã¯@nmetulevç§ã¯@skendrotã®gitã®ãªããžããªã®ã¯ããŒã³ã«æ°ããBackButtonBehaviorPropertyããã¹ãããããšããŠããããç§ã¯ã©ã€ãã©ãªã«çŽæ¥æšçã«ã¢ããªãã³ã³ãã€ã«ããããšã¯ã§ããŸããã
MyGet CIããã±ãŒãžã§ãã®å€æŽããã¹ãããããã®PRãæ¿èªã§ããŸããïŒ
ããããšã
@mvegacaãã¹ãããããšãããšãã«åãåé¡ãçºçããŸããã ã¢ã»ã³ããªã®ããŒã«ã«ã³ããŒãåç §ã§ããŸããã§ããã ãã¹ãã®åé¡ãã¯ããã«é£ãããªããããããã§äœãèµ·ãã£ãŠããã®ããç解ããå¿ èŠããããŸã
ã¢ã»ã³ããªã®ãã¹ãã§çºçããŠããåé¡ã¯äœã§ããïŒ
WCTãœãªã¥ãŒã·ã§ã³ã«PoCã¢ããªãè¿œå ããnugetããã±ãŒãžåç
§ãšãããžã§ã¯ããžã®çŽæ¥åç
§ãåé€ããŸããã
ãããžã§ã¯ããã³ã³ãã€ã«ãããšããã¹ãŠã®XAMLãã¡ã€ã«ã§æ¬¡ã®ãšã©ãŒãçºçããŸããã
xml
C:\dev\skendrot\UWPCommunityToolkit\Issue2475PoC\Issue2475PoC.csproj : XamlCompiler error WMC1013: XAML files 'App.xaml' and 'App.xaml' have the same project path 'App.xaml'. Each file must have a unique project path.
ããã¯ã空ã®æ°ããUWPApp1ããœãªã¥ãŒã·ã§ã³ã«è¿œå ããå Žåã«ãçºçããŸãã
xml
XAML files 'App.xaml' and 'App.xaml' have the same project path 'App.xaml'. Each file must have a unique project path.
App1 C:\dev\skendrot\UWPCommunityToolkit\App1\App1.csproj
ããããšã@nmetulev ;ïŒ
nugetsãããŒã«ã«ã§äœæããããããåç
§ããããšããå§ãããŸãã ããã¯ãbinãã©ã«ããŒã«nugeãçæããbuild\build.ps1
ã¹ã¯ãªããã䜿çšããŠå®è¡ã§ããŸãã
@mvegacaç§ãèŠãŠããã®ãšåãåé¡
æ®å¿µãªããããããžã§ã¯ãã¯ãœãªã¥ãŒã·ã§ã³ã®æ§æã«äŸåãããããçŽæ¥åç §ããããšã¯ã§ããŸããã éçºã®å Žåããµã³ãã«ã¢ããªã§ã®éçºãããã¯ããã«åªããŠé«éã«åäœããããã«èŠãããããæ°ãããããžã§ã¯ãã§ãœãŒã¹ãã¡ã€ã«ãçŽæ¥ãªã³ã¯ããåŸåããããŸãã ãã¹ãã®ããã«ãç§ã¯åžžã«ããŒã«ã«ã§nugetsãäœæããããããåç §ããŸã
ããŒã«ã«ã§ãã¹ãããŸããããæ£åžžã«åäœããŸãð
ãããããã°ãPRãããŒãžã§ããŸãã
ã¿ããªããããšã
PRãçµ±åãããŸãã
ããã«ã¡ã¯@nmetulev
ãã¬ãªãªãŒã¹ããŒãžã§ã³5.0.0-preview.gb86cb1c4cbã§äœ¿çšããããšããŸããããããããã£BackButtonBehaviorã䜿çšã§ããŸããã
ãã®ä¿®æ£ã¯ãã€ãã¬ãªãªãŒã¹ããŒãžã§ã³ã§å©çšå¯èœã«ãªããå®å®ããŒãžã§ã³ã§å©çšå¯èœã«ãªããšæããŸããïŒ
ããããšã
ãããããã¯æ¥é±ã®5.0.0ãªãªãŒã¹ã§å©çšå¯èœã«ãªãã§ãããã MyGetã®ãã¬ãªãªãŒã¹ã§ãå©çšã§ããŸãïŒ https ïŒ//dotnet.myget.org/gallery/uwpcommunitytoolkit
æãåèã«ãªãã³ã¡ã³ã
ã©ã®ãªãã·ã§ã³ã決å®ãããŠããç§ã¯ãããã³ã³ãããŒã«ã«å ¥ããŸãã ç§ãã¡ã¯æ±ºããå¿ èŠããããŸããç§ãã¡ã¯è¡ãã€ããã§ãã
ðã1ã«ãðã2ã«æ祚ããŠãã ãã