【问题标题】:WPF: Adding Shapes to a CanvasWPF:向画布添加形状
【发布时间】:2011-06-19 17:26:47
【问题描述】:

我有一个想要在画布上绘制的列表。我遇到的问题是让形状相对于其他形状进行绘制。现在我基本上有 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);
}

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

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

    例如:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-15
      • 2019-05-25
      • 2022-01-06
      • 2013-07-26
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多