- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- wp7/tips/panorama_slide へ行く。
- 1 (2011-12-15 (木) 23:40:41)
パノラマを横スライドアニメーションする
パノラマは Pivot と並んで横スクロールが出来るという WP7 を特徴づけているコントロールの一つです。
この Panorama コントロールは一つのコントロールになっていますが、内部的には3つのコントロールで構成されています。
- PanningBackroundLayer
- PanningLayer
- PanningTitleLayer
Panorama コントロールをスライドさせると別々にスクロールする、タイトル部分、背景部分、コンテンツ部分は、これら3種類のクラスが別々に動作し制御しています。
PanningLayer を取得する
画面上に配置した Panorama をスライドさせるには、Panorama のインスタンスから既に存在している PanningLayer を取得します。
PanningLayer pl; private void GetPanningLayer(Panorama panorama) { // パノラマ配下の数を念のため確認。 int count = VisualTreeHelper.GetChildrenCount(panorama); if (count > 0) { // 直下の Grid を取得 Grid g = (Grid)VisualTreeHelper.GetChild(panorama, 0); // Grid 配下の PanningLayer を取得 PanningLayer pl = (PanningLayer)VisualTreeHelper.GetChild(g, 2); // 格納しておく this.pl = pl; } }
Micorosoft.Phone.Controls.Primitives 名前空間にあるクラスで自由に使えますので、