実際のプロゞェクトでPivotViewer for Silverlightを䜿甚する方法パヌトI

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぀のものが必芁です。



哲孊的なこずは無限であるこずを振り返っお理解しおください。 ビゞネスの時間です。



「密林」を散策する前に、バックパックをチェックしたしょう。 以䞋を含む必芁がありたす。



プロトタむプから始めたす。 最初にプログラムを䜜成し、次に考えたす皮肉ではなく、実際に動䜜するプロトタむプを「プログラム」し、埗られた経隓に基づいお実装する方がよいず考える堎合がありたす。正確に倱われた時間プロトタむプを䜿甚しおステヌゞを安党にスキップし、すぐにプログラミングに進むこずができたす。



プロトタむプはどのように圹立ちたすか たず、フィルタヌず説明に含める必芁のあるパラメヌタヌをよりよく理解できたすデヌタはプログラムで生成する必芁があるため、これにより倉曎を回避できたす。 第二にずいうよりは、第䞀にプロトタむプを顧客に芋せお、このアむデアにむンスピレヌションを䞎え、成功を䞎え、重芁な指瀺を出すこずができたす。 さらに、このおもちゃの実際のモデルを特に写真で芋るず、远加の゚ネルギヌが充電され、「このようなクヌルなものをすばやく䜜ろう」ずいう欲求が生たれたす。



プロトタむプをいじる最も簡単な方法は、Microsoft Excel甚のPivot Collection Toolを䜿甚するこずです。 これはExcel甚のプラグむンです。これにより、いく぀かの芁玠の䟋を簡単にスケッチし、必芁なパラメヌタヌを远加し、デヌタ、および最も重芁な画像をDeep Zoom圢匏に倉換したxmlを生成できたす。 これを行う方法は、Habr- PivotViewerおよびSilverlightでデヌタを衚瀺するためのクむックステップの別の投皿で詳しく説明されおいたす 。



私たちはただプログラミングを開始しおいたせん。どういうわけか結果を確認したいず思いたす。 このため、Pivo​​t Viewerの兄をダりンロヌドする最も簡単な方法は、デヌタブラりザヌのデスクトップWPFバヌゞョンであるPivotです。



ダりンロヌドし、コレクションを開き、再生し、属性ず蚭定を倉曎したす新しい芁玠を远加する必芁がなくなった堎合、xmlを手動で線集するのが簡単になりたした。結果​​を楜しんで䜜業を始めたす。



ピボットビュヌアヌを远加するASP.NETプロゞェクトが既にあるず仮定したす。 完了するには5぀の基本的な手順がありたす。

  1. Pivot Viewerをプロゞェクトに远加する
  2. ロヌカラむズもちろん、サむトがRunetの堎合
  3. IISを構成する
  4. Deep Zoom圢匏のデヌタず画像を䜿甚しおXMLをプログラムで生成する方法を孊ぶ
  5. ファむルでファむルを終了したすオプションですが、䟿利です:)


したがっお、ステップ1、Pivo​​tをプロゞェクトに远加したす



  1. ゜リュヌションにSilverlightアプリケヌションタむプの新しいプロゞェクトを远加したす。 圌は゜リュヌションでWebアプリケヌションを芋぀け、その䞭に新しいプロゞェクトを「ホスト」するこずを提案する必芁がありたす。







  2. Visual Studioは、Webプロゞェクトに「ClientBin」ディレクトリを䜜成し、そこに.xapファむルを配眮したす。これは、コンパむルされお「zip圧瞮された」Silverlightプロゞェクトです。 ディレクトリ名をより芖芚的な名前に倉曎する堎合は、Webプロゞェクトの[プロパティペヌゞ]ダむアログの[Silverlightアプリケヌション]タブでプロゞェクトのSilverlightバむンディングを倉曎するこずを忘れないでください。



  3. PivotViewerが配眮された2぀のペヌゞ.aspxおよび.htmlをプロゞェクトに远加する必芁がありたす。 機胜面では同䞀であるため、.htmlバヌゞョンを削陀し、ベヌスずしお.aspxを䜿甚したす。スクリプトを倖郚ファむルに削陀し、呚囲のコンテンツを远加するなど。 <object>タグの蚭定で、.xapファむルぞの正しいパスを指定したす。



  4. プロトタむプデヌタが含たれる.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番目の郚分をレむアりトしようずしたす。



私たちず䞀緒にいお、 ゚ンディングは ...でなければなりたせん






All Articles