1

セマンティック ズーム コントロールは基本的に XAML で次のように実装されていることを理解しています。

<SemanticZoom>

    <SemanticZoom.ZoomedOutView>
        <!-- Put the GridView for the zoomed out view here. -->   
    </SemanticZoom.ZoomedOutView>

    <SemanticZoom.ZoomedInView>
        <!-- Put the GridView for the zoomed in view here. -->       
    </SemanticZoom.ZoomedInView>

</SemanticZoom>

私が混乱しているのは、「開始」または「メイン」ページに 6 つの Gridview があり、詳細を表示するために「ズームイン」するとそれぞれが個別に表示されると仮定すると、1 つのセマンティック ズームが必要ですか? GridViews のコレクション全体を処理するか、各 GridView にセマンティック ズーム コントロールが必要ですか?

そして、これらすべてを処理するために必要なセマンティック ズーム コントロールが 1 つだけの場合 (定義上、ズームアウト ビューは実際にはすべてのビューで同じになります)、選択した GridView に固有のズームイン/詳細ビューを作成するにはどうすればよいですか? ?

IOW、次の情報を含む 6 つの GridView がある場合:

Green Bay Packers
Milwaukee Bucks
Baltimore Orioles
Rory Gallagher
Mark Twain
Abraham Lincoln

...ズームイン/詳細ビューがアクティブ化され、ユーザーが「Mark Twain」グリッドで「ピンチアウト」したときに、Mark Twain 固有のページが表示されるようにするにはどうすればよいですか?

4

2 に答える 2

1

セマンティック ズーム コントロールが 1 つあれば十分だと思います。しかし、6 つの異なるグリッドビューを持つ代わりに、グループ化されたコレクションに 1 つだけをバインドすることはできませんか? 次に、GridView で ItemTemplateSelector を使用して、さまざまなデータ型を表示できます。

itemtemplateselector については、こちらを参照してください: http://blogs.u2u.be/diederik/post/2012/05/22/Using-Dynamic-XAML-in-Windows-8-Metro.aspx

必要に応じて、いくつかのコードを提供できます。

正しい GridView が選択されていることを確認することに関しては、セマンティック ズーム コントロールがそれを処理します。

于 2012-10-23T20:45:51.537 に答える
1

セマンティック ズームは、グループ化されたコレクション ソースにバインドされた GridView で最適に機能します。ズームイン ビューとズームアウト ビューは、子要素として GridView または ListView のみをサポートするため、6 つのグループがある場合は、1 つのグリッド ビューでそれを実現できます。

縮小表示に関しては、同じタイプのコントロールを使用してグループを表すことができます。このビューは、必要な情報を表示するようにカスタマイズできます。たとえば、セクション内の書籍数やセクションの概要などです。

ズームアウト ビューからズームイン ビューへの遷移の処理は簡単ですが、バインディングの設定に関して少し複雑な場合 (IIRC コードでズームアウト バインディングを指定する必要があります)、他の方向への移動は動作が保証されません。あなたが望むように。たとえば、ズームアウトされたビューの幅が 1 画面分しかない場合、以前に選択したグループにスクロールしようとしても意味がありません。

私は今、自分の開発マシンの前にいないので、残念ながらサンプルをまとめることはできませんが、オンラインにはたくさんの例があります。

于 2012-10-23T20:18:07.503 に答える