2011-06-19 146 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