マークアップと分離コード

マークアップと同様の結果が得られる、分離コードについて解説します。



<Polyline Name="shape"
Stroke="Blue"
StrokeThickness="2"
Fill="Yellow"
Points="0,28 80,28 12,80 40,0 68,80" />

マークアップでは、Polyline ... に続いて、さまざまなプロパティーを指定します。これを分離コードでは、次のように記述します。

# Polygon.py
def shapes(self):
points = PointCollection()
vertices = "0,28 80,28 12,80 40,0 68,80"
for e in vertices.split(" "):
x, y = eval(e)
points.Add(Point(x, y))

s = Polyline(
HorizontalAlignment=HorizontalAlignment.Center,
VerticalAlignment=VerticalAlignment.Center,
Stroke=Brushes.Blue,
StrokeThickness=2,
Fill=Brushes.Yellow,
Points=points,
)
s.MouseUp += self.mouseUp

def mouseUp(self, sender, e):
MessageBox.Show("%s\n%s"
%(sender, sender.Points))

ここでは、Polygon と同じプロパティーを指定しています。
プロパティー HorizontalAlignment=/VerticalAlignment= を指定すると、ウィンドウの大きさを変更しても、ウィンドウの中央 .Center に図形を描きます。プロパティー Points= には、各頂点の座標を指定します。他のプロパティーは、これまでと同じです。


Previous|4/5|Next