【Blen道】パネルを知る
#windev_jp #wpdev_jp
Windows Phone の Update 3 でテンションが上がっている高橋です。
Blend を使いながら、ユーザー視点のUXを目指すBlen道。今回はパネルです。あれ?前もやったっけ?
前回ふれたとおり、実は画面に配置するものは2種類だけでコントロールとパネルしかありません。
ではこのパネルとは一体何か? パネルとは「他のオブジェクトを支援するための機能を持ったオブジェクト」です。たぶん。その支援機能とはげんざいのところは3種類。
- 他のオブジェクトの配置を管理する:Grid, Canvas, StackPanel, WrapPanel など
- 他のオブジェクトを画面に収める:ScrollViewer, ViewBox など
- 他のオブジェクトの装飾をする:Border など
配置型パネル
自身の下にオブジェクトを置いて配置を管理するため、子要素を複数置ける=まとめることができるパネルです。ですので配置は関係なしにグループ化のために使われることがあります。
1画面集約型パネル
表示対象が増えれば画面からはみ出してしまうわけですが、それを画面に収めるのがこのタイプのパネル。必ず子要素をすべて表示できるようになっています。
ScrollViewer:拡大縮小はせずに画面のスクロールではみ出して部分を表示
ViewBox:縦横比を維持しながら縮小して画面内に表示する
装飾型パネル
今のところは Border だけ。
枠の表示などはほかのコントロールでもできそうだが、各辺ごとに太さを変えたり、角丸のサイズも4か所個別に指定できるなど細かい設定ができる。
左の図形は枠の太さを4ペンとも変えた例。右は角丸の大きさを4角それぞれ個別に指定したもの。
グループ化としてのパネル
グループ化の際はその配置はあまり変えたくないケースがほとんど。そのため通常は配置に影響が少ないGrid を使ってグループ化することが多い。
グループ化の目的はまとめて管理すること。
- 複数のオブジェクトをまとめて表示/非表示切り替え
- 複数のオブジェクトをまとめてアニメーションさせる
また、オブジェクトのコントロール化をする場合、対象オブジェクトは1つでないといけないため、グループ化を行う。