2011-06-19 116 views
0

我有一张我想在画布上绘制的列表。我遇到的问题是让形状相对于其他形状绘制。现在我基本上有4个直角三角形,当正确地合为一钻:WPF:将图形添加到画布中

/| |\ 
--- --- 

--- --- 
\| |/ 

我遇到的问题是,所有的三角形绘制在彼此的顶部。如何将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); 
} 

回答

0

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

例如:

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

约附加属性的更多信息可在这里找到:Attached Properties MSDN