2

ズームイン ビューに GridView と ListView の両方が含まれるセマンティック ズームを使用して xaml ページを作成する必要があります。基本的なグリッド アプリケーション テンプレートから始めました。

これを実現するために、セマンティック ズーム コントロールのズームイン ビューにリスト ビューを表示させました。リスト ビューには、実際にデータを ListViewItems として表示するために必要な ListView コントロールと GridView コントロールが含まれています。これはある程度まで機能します。問題は、子の要素ではなく、親 ListView の子コントロール全体でマウスダウンまたはタップのアニメーションが発生することです。セマンティック ズームをサポートする必要がなければ、この種のレイアウトは単純です。

だから、私の質問は、これがこの種のレイアウトを実現するための最良の方法なのか、それとも何か不足しているのかということです。これが最善の方法である場合、子アイテム要素が選択時に正しいアニメーション効果を持つように動作を制御することは可能ですか?

追加情報

GridView または ListView の選択は、コレクション内の項目の種類に基づいています。この例では、grp 1、3、および 4 (グリッドに表示される) はすべて type のコレクションでNewsFullあり、残り (リストに表示される) は typeHeadlineOnlyであり、両方のタイプが NewsBase から継承されます。

ページ レイアウト (拡大) は次のようになります...

Title

grp 1         grp 2          grp 3            grp 4      grp 5
[g][g][g][g]  [_list item_]  [g][g][g][g][g]  [g][g][g]  [_list_item_]
[g][g][g][g]  [_list item_]  [g][g][g][g][g]  [g][g][g]  [_list_item_]
[g][g][g][g]  [_list item_]  [g][g][g][g]     [g][g]     [_list_item_]
[g][g][g]     [_list item_]  [g][g][g][g]     [g][g]                  

[g]グリッド ビュー アイテム、[_list_item_] はリスト ビュー アイテムです。

縮小表示はこんな感じ・・・

Title

grp 1      grp 2      grp 3      grp 4      grp 5
[summary]  [summary]  [summary]  [summary]  [summary]
4

2 に答える 2

1

デザインは私には合理的に見えます。あなたが抱えている問題は、単に「子アイテムの要素が選択に対して正しいアニメーション効果を持つように動作を制御することは可能ですか?」です。

ここでの問題は、UIオブジェクトのさまざまなレベルに関する抽象化がおそらく不足していることです。この大きなコントロールは、1つのxamlオブジェクトを使用して作成し、スタイルの設定を台無しにしたと思います。私の意見では、UIを次のレベルのコンポーネントに分割する必要があります。

  1. ZoomPage//これは本質的にリストです
  2. GroupElement//DATACONTEXTに応じてGRIDオブジェクトまたはリストオブジェクトになります
  3. GroupElement//サマリー状態もあります。

あなたが確実に指定したことは達成でき、スタイルが適切に展開されていないように見えます。実際にコントロールが複雑すぎる場合は、それを分解して、別々にテストしてください。

お役に立てれば

于 2012-06-15T03:57:58.657 に答える
1

おそらく、ItemContainerStyleSelector を使用して、アイテムの種類などに基づいてアイテムのコンテナーを入れ替えることができますか? このようにして、1 つのグループをラッピング レイアウト コンテナーに設定し、別のグループを単にスタックパネルに設定することができますか?

于 2012-06-14T13:53:23.113 に答える