WPFとこきそ 2
座標を指定してレイアウト
htmlやcssのように座標をして描写したい場合が殆どだから今回のレイアウトライブラリは必修科目
Canvas | レイアウトライブラリ |
.Top | 上の余白の設定 |
.Left | 左の余白の設定 |
.Bottom | 下の余白の設定 |
.Right | 右の余白の設定 |
記事中(http://msdn.microsoft.com/ja-jp/windows/cc811499.aspx)には載ってはいないが基点位置について 中心となる基点位置は現状では画面の左上となる。
<Canvas>
<Ellipse
Fill="Black"
Width="300"
Height="300"
Canvas.Top="50"
Canvas.Left="50"
/>
<Ellipse
Fill="White"
Width="240"
Height="240"
Canvas.Top="85"
Canvas.Left="45"
/>
</Canvas>
Canvas.Top="50"は上端を基準とした50の位置 Canvas.Left="50"は左端を基準として50の位置 なるほど、でも管理しやすくする為にはCanvasの位置を変えたいなと思ったけど Canvasには .Top .Left のアタッチするプロパティがにゃーだよ。 始めに考えたのは、子要素や孫要素が存在するCanvasをCanvasで包む事。 これなら
<Canvas>
<Canvas Canvas.Right="500">
Canvas内の要素をわざわざ変更しなくても中間にあるCanvasのオフセット位置を指定するだけで良いんだけど 果たして推奨されるコードなのかと思いネット検索を掛けてみた。 が、ちょっと参考資料が見当たらないので知ってる方がもーし見てたら教えて下さい。
とこきそ1~2のまとめ
WrapPanelやStackPanel等もTopやLeftにアタッチできるプロパティがない・・・。 現状の自分のやり方だと1画面内にStackPanelとWrapPanelが複数個整列されていない状態で 必要になった場合、<Canvas></Canvas>で囲みまくる形になる・・。 なんとなくだけど綺麗じゃないかな。でもとりあえずこのまま進んでわかった時点で切替すれば いっか。
0 件のコメント:
コメントを投稿