Habréã§ã¯ã倧éã®ããŒã¿ãèŠèŠåããŠãã£ã«ã¿ãŒåŠçããããã«èšèšããã
PivotViewerã³ã³ãããŒã«ã«ã€ããŠäœåºŠãæžããŸããã ãã®éåžžã«èå³æ·±ãèŠçŽ ãå®éã®ãããžã§ã¯ãã§äœ¿çšããçµéšãå
±æããããšæããŸãã
ãããäœã§ããããã¡ãŒã ã§åœ¹ç«ã€ãã©ãããç¥ãããå Žåã¯ã
xaoccpsã®åªãã
PivotViewer for Silverlight Reviewã
èªãã§ãã ãã ããã®èª¬æãšäŸã§ååã§ãã ããããPivoââtViewerããããžã§ã¯ãã®ããããã«çµ±åããããšãæ€èšããŠããå Žåããã®ã¹ããŒãªãŒã«ããæéãç¯çŽã§ããŸãã
ã¡ãªã¿ã«ãã¬ãã¥ãŒã®1ã€ã«ã³ã¡ã³ãããããšããã®ãããã¯ãæžãããã«ãªããŸããã
ãæ¹æ³ãã«ã€ããŠç§ãå«ããªããšïŒå°ãªããšãWPFãšSLã®å Žåãããããä»ã®ãã¬ãŒã ã¯ãŒã¯ã®å Žåãç¶æ³ã¯åãã§ãïŒ-ãããã¯å¯æã®ããã€ãã®æããã¢ã¹ãã¡ã«ãã®éãæ
ãããããªãã®ã§ãã ããªããã©ãã«ãæ²ãããªãéãããã¹ãŠãã¯ãŒã«ã§ãå¥åº·çã§ããã çŽ æŽã§ãã ããããå°ãªããšãäžæ©ãèžã¿åºããšã鬱denseãšãã森ããæ倧éã«ããªããåŸãŸãã
ããã«èšããŸããããã®å Žåãç§ãã¡ã¯å¯æã«åºäŒãããšã¯ãããŸããããå°ãè¿·åã«ãªããªããã°ãªããŸããã
ããªããéã«åºãåã«ããã®èŠçŽ ã«ã€ããŠã®ããã€ãã®åå²åŠçãªèãããããŸãïŒå®è£
ã«ã®ã¿èå³ãããå Žåã¯ãèªç±ã«ã¹ãããããŠãã ããïŒã
ççŽã«èšã£ãŠãPivoââtã«ã€ããŠèããŠãWikiã§ãå±æ ¹ãµããã®äŸãèŠãããã«ãªã£ããšããæåã«èããã®ã¯ããã£ãããããšãäžäœäœãªã®ïŒãã§ããã Googleã§ãWiki Silverlightããšå
¥åããå¿
èŠãªãªã³ã¯ãæåã®è¡ã«ååŸããæ¹ããäžé£ã®èšäºã®èª¬æãå«ãcxmlãã¡ã€ã«ãã¢ããããŒããã2009幎ã«ãWebéçºãœãããŠã§ã¢ããéžæããŠãçŸããã°ã©ãã£ãã¯ãéè³ããç®çã®ã«ãŒããååŸãããããã¯ããã«ç°¡åã§ããªã³ã¯ïŒããã¯æåã®å°è±¡ã«éããŸããããã®ãããªã¢ãããŒãã圹ç«ã€å¯èœæ§ãããã·ããªãªã¯ãããšæããŸãïŒã æ ç»é€šã®1ã€ã®ãµã€ãã®æ°ããããŒãžã§ã³ãæãåºããŸããã ã¯ãªãã¯ã«ã¯ã«ã©ãã«ãªã¢ãã¡ãŒã·ã§ã³ãççºãé³æ¥œã䌎ãã蚪åè
ãç¹æ®å¹æãæ€èšããã®ã«ãããããããšãã圌ã¯ç®ç«ããªããªã³ã¯ã貧ããã€ã³ã¿ãŒãããã®ããã®ãµã€ãã®å€ãããŒãžã§ã³ããæ¢ãå§ããŸãã:)
æ°ããã³ã³ãã¥ãŒã¿ãŒãéžã¶ãšãã«ãããããã«å¯Ÿããç§ã®æ
床ã¯å€ãããŸããã ã¡ãªã¿ã«ãç§ãæåŸã«éã«èå³ãæã£ãã®ã¯ã3幎åã®å€ãã³ã³ãã¥ãŒã¿ãŒãéžãã ãšãã§ããã ãã®ãããããŸããŸãªãã¯ãããžãŒãšããŸããŸãªã¡ãŒã«ãŒã®ããŸããŸãªã³ã³ããŒãã³ãã®äœçŸãã®ãªãã·ã§ã³ããéžæããå¿
èŠããããŸããïŒç§ã¯èªåèªèº«ããéã®ããã«ãçµã¿ç«ãŠãåŠçæ代ãæãåºããŠãåã
ã®ãããŒããŠã§ã¢ããéžæããŠäºç®ã«åãããããšã«ããŸããïŒã
ãã®éžæã¯ãåžæãã補åã«ããŽãªãéžæããããŸããŸãªãã©ã¡ãŒã¿ã§ãã£ã«ã¿ãªã³ã°ããŠããããã«ã¯äœããããŸããïŒãããåããããããŸãããã140mmãã¡ã³ããããŸããïŒããŸãã¯ãè¿œå ãããŸããïŒãäŸ¡æ Œã20ãã«äžãããšããªã¹ãã«äœãè¯ãããšããããŸããïŒã
ããã¯æ¬åœã«ãšãŠã䟿å©ã ã£ãã®ã§ããããPivotViewerã®å®è£
ã ãšæããŸããã çµå±ã®ãšãããéåžžã«å€§ããªïŒãããŠå·šå€§ãª:)ãªããžã§ã¯ãã®ç°ãªããã£ã«ã¿ãŒã§éã¶ããšãã§ããããã«ç¹å¥ã«èšèšãããŠããŸãã ãã£ã«ã¿ãŒã®ããé åããªã¹ãã®é åãããã³éžæãããé
ç®ã®èª¬æãå«ããããããã£ããŒãžãããããŸãã ãããŠãããããã¹ãŠã®æ©èœã¯ã1ã€ã®åçŽãªïŒäœ¿çšã®èŠ³ç¹ããïŒã³ã³ãããŒã«ã§ååŸããŸãããã®ã³ã³ãããŒã«ã¯ãxml圢åŒã®ãªããžã§ã¯ãã®ãªã¹ããããã£ãŒããããã ãã§ãã ããã«ãããããçš®é¡ã®ååã®å€æ°ã®ãªã³ã©ã€ã³ã¹ãŒããŒããŒã±ãã-ããã¯ã»ãã®äžäŸã§ãã åæ§ã«ãæçã®ã¬ã·ãïŒé£æãæçã®çš®é¡ãæçã®æ°ææ§ãè©äŸ¡ãããªãã¯æ±ºããŠç¥ããªãïŒãæ
è¡ä»£çåºã®æ
è¡ããã±ãŒãžïŒåœããªãŸãŒããããã«ãæçã®çš®é¡ãã³ã¹ã...ïŒãäžåç£ïŒå Žæãæ åïŒ ãéšå±ã®æ°ãªã©ïŒã ãããŠããªã¹ãã¯å»¶ã
ãšç¶ãã
ãã©ãããã§ãã±ãããæŸãããšããããã¢ããŒããã©ãã§ã©ã®ãããåããã®ãã決ããããšãã人ã¯ïŒã³ããã¯ã®ããŒã¹ã100ãã«ã ãé«äŸ¡ã«åããããšãã§ãããã©ãã§ããããïŒãã®ã¢ãããŒããããã«äŸ¿å©ããå®æããŸãã 確ãã«ããœãªã¥ãŒã·ã§ã³ããç¹æ®å¹æã®ãã圹ã«ç«ããªããµã€ããã«ãªããªãããã«ããã«ã¯ãå°ãªããšã3ã€ã®ãã®ãå¿
èŠã§ãã
- æ¬åœã«å€æ°ã®ãªããžã§ã¯ãã æ°åçš®é¡ã®ãè¶ã®åºããããªããPivoââtã¯ãã ã®çŸããããã¡ãã«ãªããŸãã æ°çŸã¯ãã§ã«åªããŠããŸãã æ°åäžäººïŒ ããã§åœŒã¯ãã¹ãŠã®æ å
ã§åœŒèªèº«ãèŠããŸãïŒããªãã®ãã£ã³ãã«ã®å¹
ã圌ã«ãšã£ãŠååã§ããã°ããããããªããæãã§ãããã®ã¯äžçã§ã¯å®ç§ã§ã¯ãããŸãã:)
- ã»ãšãã©ã®ãªããžã§ã¯ãã®è©³çŽ°ãªä»æ§ã ãã©ã¡ãŒã¿ãŒãéžæãããšãã«ãã³ã¬ã¯ã·ã§ã³å
šäœããéžææžã¿ãã°ã«ãŒãïŒ10ïŒ
ïŒãšãïŒæ
å ±ãªãïŒãïŒ90ïŒ
ïŒã®ã°ã«ãŒãã«åå²ãããå ŽåãPivoââtã¯åã³çŸããããã¡ãã«ãªããŸãã
- ãã¹ãŠã®ãªããžã§ã¯ãã®ç»åã¯ã解å床ãé«ãã»ã©åªããŠããŸãã ããã§ãSilverlight Deep Zoomãã¯ãããžãŒã®ãã«ãã¯ãŒãçºæ®ãããŸããããã«ãããéåžžã«å€§ããé«å質ã®ç»åã衚瀺ãããã©ãã£ãã¯ã®è² è·ãæå°éã«æããããšãã§ããŸãã ãšããã§ãã€ã³ã¿ãŒãããã§éžæãããšããç»åã¯éåžžã«éèŠãªåœ¹å²ãæãããŸãã ãã€ã€ãŒã3åã®1ã®ã¢ã€ãã ã«åçããªããªã¹ããèŠã€ããå Žåãé
åçãªæ©èœã«ãããããããåã«ããããç¡èŠããããšæããŸãã ããã«ãããšãã°ãã¶ãŒããŒããããªã³ã¿ãŒçšã®çšçŽãéžæãããšããªã©ãå€èŠ³ãå¿
èŠãšæãããªãå Žåã§ããããã¯æ©èœããŸãã
å²åŠçãªããšã¯ç¡éã§ããããšãæ¯ãè¿ã£ãŠç解ããŠãã ããã ããžãã¹ã®æéã§ãã
ãå¯æããæ£çããåã«ãããã¯ããã¯ããã§ãã¯ããŸãããã 以äžãå«ãå¿
èŠããããŸãã
ãããã¿ã€ãããå§ããŸãã æåã«ããã°ã©ã ãäœæãã次ã«èããŸãïŒç®èã§ã¯ãªããå®éã«åäœãããããã¿ã€ãããããã°ã©ã ãããåŸãããçµéšã«åºã¥ããŠå®è£
ããæ¹ããããšèããå ŽåããããŸããæ£ç¢ºã«å€±ãããæéïŒãããã¿ã€ãã䜿çšããŠã¹ããŒãžãå®å
šã«ã¹ãããããããã«ããã°ã©ãã³ã°ã«é²ãããšãã§ããŸãã
ãããã¿ã€ãã¯ã©ã®ããã«åœ¹ç«ã¡ãŸããïŒ ãŸãããã£ã«ã¿ãŒãšèª¬æã«å«ããå¿
èŠã®ãããã©ã¡ãŒã¿ãŒãããããç解ã§ããŸãïŒããŒã¿ã¯ããã°ã©ã ã§çæããå¿
èŠããããããããã«ããå€æŽãåé¿ã§ããŸãïŒã 第äºã«ïŒãšããããã¯ã第äžã«ïŒïŒãããã¿ã€ãã顧客ã«èŠããŠããã®ã¢ã€ãã¢ã«ã€ã³ã¹ãã¬ãŒã·ã§ã³ãäžããæåãäžããéèŠãªæ瀺ãåºãããšãã§ããŸãã ããã«ããã®ããã¡ãã®å®éã®ã¢ãã«ãç¹ã«åçã§èŠããšãè¿œå ã®ãšãã«ã®ãŒãå
é»ãããããã®ãããªã¯ãŒã«ãªãã®ããã°ããäœããïŒããšãã欲æ±ãçãŸããŸãã
ãããã¿ã€ãããããæãç°¡åãªæ¹æ³ã¯
ãMicrosoft Excelçšã®
Pivot Collection Toolã䜿çšããããšã§ãã ããã¯Excelçšã®ãã©ã°ã€ã³ã§ããããã«ãããããã€ãã®èŠçŽ ã®äŸãç°¡åã«ã¹ã±ããããå¿
èŠãªãã©ã¡ãŒã¿ãŒãè¿œå ããããŒã¿ãããã³æãéèŠãªç»åãDeep Zoom圢åŒã«å€æããxmlãçæã§ããŸãã ãããè¡ãæ¹æ³ã¯ãHabr-
PivotViewerããã³Silverlightã§ããŒã¿ã衚瀺ããããã®ã¯ã€ãã¯ã¹ãããã®å¥ã®æçš¿ã§è©³ãã説æãããŠã
ãŸã ã
ç§ãã¡ã¯ãŸã ããã°ã©ãã³ã°ãéå§ããŠããŸãããã©ããããããçµæã確èªããããšæããŸãã ãã®ãããPivoâât Viewerã®å
ã
ããŠã³ããŒãããæãç°¡åãªæ¹æ³ã¯ãããŒã¿ãã©ãŠã¶ãŒã®ãã¹ã¯ãããWPFããŒãžã§ã³ã§ããPivotã§ãã
ããŠã³ããŒãããã³ã¬ã¯ã·ã§ã³ãéããåçããå±æ§ãšèšå®ãå€æŽããŸãïŒæ°ããèŠçŽ ãè¿œå ããå¿
èŠããªããªã£ãå Žåãxmlãæåã§ç·šéããã®ãç°¡åã«ãªããŸããïŒãçµæââã楜ããã§äœæ¥ãå§ããŸãã
ãããããã¥ãŒã¢ãŒãè¿œå ããASP.NETãããžã§ã¯ããæ¢ã«ãããšä»®å®ããŸãã å®äºããã«ã¯5ã€ã®åºæ¬çãªæé ããããŸãã
- Pivot Viewerããããžã§ã¯ãã«è¿œå ãã
- ããŒã«ã©ã€ãºïŒãã¡ããããµã€ããRunetã®å ŽåïŒ
- IISãæ§æãã
- Deep Zoom圢åŒã®ããŒã¿ãšç»åã䜿çšããŠXMLãããã°ã©ã ã§çæããæ¹æ³ãåŠã¶
- ãã¡ã€ã«ã§ãã¡ã€ã«ãçµäºããŸãïŒãªãã·ã§ã³ã§ããã䟿å©ã§ã:)
ãããã£ãŠãã¹ããã1ãPivoââtããããžã§ã¯ãã«è¿œå ããŸã
- ãœãªã¥ãŒã·ã§ã³ã«Silverlightã¢ããªã±ãŒã·ã§ã³ã¿ã€ãã®æ°ãããããžã§ã¯ããè¿œå ããŸãã 圌ã¯ãœãªã¥ãŒã·ã§ã³ã§Webã¢ããªã±ãŒã·ã§ã³ãèŠã€ãããã®äžã«æ°ãããããžã§ã¯ããããã¹ããããããšãææ¡ããå¿
èŠããããŸãã
- Visual Studioã¯ãWebãããžã§ã¯ãã«ãClientBinããã£ã¬ã¯ããªãäœæããããã«.xapãã¡ã€ã«ãé
眮ããŸããããã¯ãã³ã³ãã€ã«ãããŠãzipå§çž®ããããSilverlightãããžã§ã¯ãã§ãã ãã£ã¬ã¯ããªåãããèŠèŠçãªååã«å€æŽããå Žåã¯ãWebãããžã§ã¯ãã®[ããããã£ããŒãž]ãã€ã¢ãã°ã®[Silverlightã¢ããªã±ãŒã·ã§ã³]ã¿ãã§ãããžã§ã¯ãã®Silverlightãã€ã³ãã£ã³ã°ãå€æŽããããšãå¿ããªãã§ãã ããã
- PivotViewerãé
眮ããã2ã€ã®ããŒãžïŒ.aspxããã³.htmlïŒããããžã§ã¯ãã«è¿œå ããå¿
èŠããããŸãã æ©èœé¢ã§ã¯åäžã§ããããã.htmlããŒãžã§ã³ãåé€ããããŒã¹ãšããŠ.aspxã䜿çšããŸããã¹ã¯ãªãããå€éšãã¡ã€ã«ã«åé€ããåšå²ã®ã³ã³ãã³ããè¿œå ãããªã©ã <object>ã¿ã°ã®èšå®ã§ã.xapãã¡ã€ã«ãžã®æ£ãããã¹ãæå®ããŸãã
- ãããã¿ã€ãïŒããŒã¿ãå«ãŸãã.cxmlãã¡ã€ã«ãšDeep Zoomç»åãå«ãŸãããã£ã¬ã¯ããªïŒãWebãããžã§ã¯ãïŒ.xapãã¡ã€ã«ãªã©ïŒã«ã³ããŒããŸãã Silverlightãããžã§ã¯ãã®ããŒãžã³ã³ã¹ãã©ã¯ã¿ãŒã®LoadCollectionã¡ãœããã䜿çšããŠPivotã«èªã¿èŸŒã¿ãŸãïŒæ¢å®ã§ã¯ãããã¯MainPage.xamlã§ãïŒã
public MainPage()
{
InitializeComponent();
...
MainPivotViewer.LoadCollection(collectionUri, String .Empty);
}
* This source code was highlighted with Source Code Highlighter .
collectionUriã¯ã.cxmlããŒã¿ãã¡ã€ã«ãžã®çµ¶å¯ŸURLã§ãã
çªç¶åé¡ãçºçããå Žå-Pivotãã©ã«ããŒã®äŸãã芧ãã ããïŒãCïŒ\ Program FilesïŒx86ïŒ\ Microsoft SDKs \ Silverlight \ v4.0 \ PivotViewer \ Jun10 \ SourceãããããŸãïŒã ããã¯åçŽãª1ããŒãžã®ãµã€ããªã®ã§ãäœåãªãã®ã¯ã»ãšãã©å«ãŸããŠããŸããã ãªãã·ã§ã³ã§ããã䟿å©ãªç¹ãããã€ããããŸãããããã«ã€ããŠã¯åŸã§è©³ãã説æããŸãã
ã¹ããã2ãããŒã«ã©ã€ãº
ããã§ã¯ãã¹ãŠãç°¡åã§ãã Silverlightãããžã§ã¯ãã§æååãªãœãŒã¹ã䜿çšããŠãã¡ã€ã«ãäœæããå®çŸ©æžã¿ã®IDã䜿çšããŠå¿
èŠãªè¡ãããã«è¿œå ããå¿
èŠããããŸãã å¯èœãªãã¹ãŠã®è¡ã®å®å
šãªãªã¹ãã¯ã
Resourcesãªããžã§ã¯ãã®ããããã£ã«ãããŸãã ããã©ã«ãå€ã«ããããã®è¡ã®ç®çãããããŸãã ã»ãšãã©ã®è¡ã¯ããfrom ... to ...ããŸãã¯ããã倧ãããçãããã¿ã€ãã®ãã£ã«ã¿ãŒã®èª¬æãäœæããããã«äœ¿çšãããããšã«æ³šæããŠãã ããã ãã£ã«ã¿ãŒã§äžçæžåœéãã§ããªãå Žåããã£ã«ã¿ãŒãæºãããŠããªãå¯èœæ§ããããŸãããããã¯ãã£ã«ã¿ãŒãå¿
èŠãªããšããæå³ã§ã¯ãããŸããã
次ã«ãããŒãžã§ã³ã®ç¿»èš³ãã³ã³ãããŒã«ã«æž¡ããŸãã
public MainPage()
{
InitializeComponent();
...
System.Windows.Pivot.PivotViewer.SetResourceManager(LocalizationStrings.ResourceManager);
}
* This source code was highlighted with Source Code Highlighter .
ãããããããã人çã§ã©ã®ããã«èŠãããã瀺ãæãæ¥ãã®ã§ãããã ãã¡ãããPivoâât Viewerãããçš®ã®ãšã¬ã¯ãããã¯ã¹ã¹ãŒããŒããŒã±ããã«ãã蟌ãæ¹ãè¯ãã§ãããããããããæå
ã«ãããã®ã䜿çšããä»ã®ãã®ãæ¢ããªãã§ãã ãããããã£ãªã¢ã¹ãã©ã°ãšåœŒã®æ
ã«é¢ããå€ãè¯ã挫ç»ãèŠããŠããŸããïŒ ããã§ãæåéããæ°ã«å
¥ãã®ããã¡ããã€ãŸãã«ãžã¥ã¢ã«ã²ãŒã ã®ãµã€ãã§ãã®èŠçŽ ãèŠã€ããŸããã ãããªã説æã§ãã®äŸãåç
§ãã
ãã®ããŒãžã§ç¿»èš³ã®ç§ã®ããŒãžã§ã³ãèŠãããšãã§ããŸãã
ã¹ããã3ãIISãæ§æãã
æãç°¡åãªã¹ãããã å¿
èŠãªã®ã¯ãIISã«æ°ããçš®é¡ã®æ¡åŒµæ©èœãèªèããããã«æããããšã ãã§ãã IIS 7.0以éã§ã¯ãweb.configã«æ¬¡ã®è¡ãè¿œå ããã ãã§ãã
< configuration >
< system.webServer >
< staticContent >
< mimeMap fileExtension =".cxml" mimeType ="text/xml" />
< mimeMap fileExtension =".dzc" mimeType ="text/xml" />
< mimeMap fileExtension =".dzi" mimeType ="text/xml" />
</ staticContent >
* This source code was highlighted with Source Code Highlighter .
以åã®ããŒãžã§ã³ã§ã¯ãIISæ§æããã«ã§ãããæåã§ç»é²ããå¿
èŠããããŸãã
ããããã®ããã¹ããããã誰ããæãèå³æ·±ãéšåãã€ãŸãããªããééãããããããªãæçšãªç¬éãåé¡ãŸã§èªã¿çµããªããããããŸããã ããã§ããã®èšäºã2ã€ã®éšåã«åããææ¥ã¯2çªç®ã®éšåãã¬ã€ã¢ãŠãããããšããŸãã
ç§ãã¡ãšäžç·ã«ããŠã
ãšã³ãã£ã³ã°ã¯ ...ã§
ãªããã°ãªããŸãã