WPF:向画布添加形状

时间:2011-06-19 02:29:58

标签: c# wpf

我有一个我想在画布上绘制的列表。我遇到的问题是让形状相对于其他形状绘制。现在我基本上有4个直角三角形,当正确组合钻石时:

 /| |\
--- ---

--- ---
 \| |/

我遇到的问题是所有的三角形都是相互叠加的。如何将Geometry对象添加到画布,以便它们相对于彼此正确布局并仍然作为一个组缩放到画布?

foreach (var g in GetAListOfGeometries())
{
   System.Windows.Shapes.Path path = new Path();
   path.Fill = System.Windows.Media.Brushes.Green;
   path.Stroke = System.Windows.Media.Brushes.Purple;
   path.StrokeThickness = 1;
   path.Data = g;

   canvas.Children.Add((Geometry)path);
}

1 个答案:

答案 0 :(得分:0)

您必须设置Canvas.Top和Canvas.Left附加属性。

例如:

Canvas.SetTop(path, 10);
Canvas.SetLeft(path, 10);

有关附加属性的更多信息,请访问:Attached Properties MSDN