对ui元素进行分组的最佳轻量级容器是什么?



我正在自学WPF。我使用Canvas将两个多边形分组在一起:

var grp = new Canvas();
var polygon = new new Polygon();
polygon.Points.Add(new Point(-15, -20));
polygon.Points.Add(new Point(0, 20));
polygon.Points.Add(new Point(15, -20));
polygon.StrokeThickness = 1;
polygon.Stroke = Brushes.Violet;
polygon.Fill = Brushes.Yellow;
var rotationCenter = centroid(polygon);
var centerPoint = new Ellipse();
Canvas.SetLeft(centerPoint, rotationCenter.X -1 );
Canvas.SetTop(centerPoint, rotationCenter.Y-1);
centerPoint.Fill = Brushes.Green;
centerPoint.Height = 3;
centerPoint.Width = 3;
grp.Children.Add(shipPolygon);
grp.Children.Add(centerPoint);

然后,我移动,旋转和播放我的分组多边形使用grp Canvas

因为我不想用我的Canvas来做任何事情,而不是将多边形彼此分组,我想知道是否存在比Canvas更轻的东西来做这件事。

我在WPF3D中搜索了相当于Model3DGroup的东西来分组WPF2D中的ui元素,但没有成功。

Canvas是最轻的容器组UIElements ?

您所说的分组实际上在wpf中称为布局。你可以选择一个容器来布局你的孩子。

是的,帆布是最笨的容器,所以也是最轻的。Grid有列和行,这是非常智能的,stackpanel根据方向堆叠它的子元素,但canvas除了根据x和y值放置ui元素外什么也不做。

因此,我认为画布非常适合你的例子,因为你想在画你的人物之前有一点偏移

相关内容

  • 没有找到相关文章

最新更新