是否有可能以编程方式将形状分组到集合中进行批量转换?

时间:2014-01-15 03:27:20

标签: c# wpf

我正在根据已经阅读的配置文件在屏幕上绘制地图,所以(据我所知......但我只在WPF中工作了两天)所有地图的形状都在画布需要以编程方式绘制和转换。要绘制的对象之一是(用于任何意图和目的)网格。根据当前的缩放系数,我需要将形状缩放为更大或更小。我正在寻找与以下(假)代码具有相同效果的东西:

ShapeGroup g = new ShapeGroup();
g.add(rect);
g.add(line1);
g.add(line2);
g.add(line3);

g.transform(new ScaleTransform(2.0));

WPF是否有任何类似的编程功能?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以尝试使用任何容器控件(Grid,DockPanel,StackPanel等)对这些形状进行分组,然后将转换应用于容器。 @wdosanjos在上面的评论中提出的文章中也表达了相同的观点。在那篇文章中,作者选择了DockPanel作为转换容器。例如,代码将类似于:

Grid g = new Grid();
g.Children.add(rect);
g.Children.add(line1);
g.Children.add(line2);
g.Children.add(line3);

g.LayoutTransform(new ScaleTransform(2.0));

注意:代码没有展示容器内的定位形状。