コードスペランカー

ゲーム開発日誌など

WPFのお勉強 描画編

友人からの紹介でWPFを使った描画を勉強してみることにした。WPFって言うものそのものを知らんかったので良い機会だろう。
WPFの印章だが、フォームなんかのフォーマットをXMLで定義したWindowsアプリって感じだ。VBやらVC++やらVC#やら単体でWindowsアプリを作るなら、フォームの定義もそれぞれの言語でやればよいが、UIの部分をXML化することで、他の言語やらプログラムやらで使った部品を使いまわせそうな印象がある。もちろん使いまわすには工夫が必要そうでもある。
で、描画部分だが今までのWindowsプログラムとちょっと違っているきがする。具体的にはグラフィックハンドル捕まえてPenとかでフォームにぐりぐり書き込むってやり方は使わないらしい。

Line line1 = new Line();
line1.Stroke = Brushes.LightSteelBlue;
line1.X1 = 1;
line1.Y1 = 1;
line1.X2 = 100;
line1.Y2 = 200;
line1.StrokeThickness = 2;
canvas1.Children.Add(line1);

ってなかんじでLineオブジェクトを作成してCanvasオブジェクトに貼り付けるって感じだ。貼り付けたLineオブジェクトは描画された後捨てるわけじゃなく、値を変更すれば変更後の状態が反映されるので考え方によっては色々使い道がありそうな気がする。
で、Childrenってやつはどうも中身がListっぽい。理解としてはChildrenに描画したいものをぶち込んでやるって感じでOKっぽい。