我想动态地将三角形添加到画布中。我可以这样做但只能以一种非常特殊的方式对我的应用程序起作用。我想做的是提供一个点和一个大小,然后回到三角形。
var poly = shape as Polygon;
Polygon p = new Polygon
{
//Width = size,
//Height = size,
Fill = new SolidColorBrush(Colors.Red),
ManipulationMode = ManipulationModes.All,
RenderTransform = new CompositeTransform()
};
int w = 200;
int h = 200;
Point start = new Point(400, 200);
var right = new Point(start.X + w, start.Y);
var top = new Point(start.X + (w / 2), start.Y - (h));
poly.Points.Add(point);
poly.Points.Add(right);
poly.Points.Add(top);
poly.Points.Add(point);
然后我将形状添加到画布子控件中,并在形状RenderTransform上设置X Y.什么也没出现。但是,如果我这样做:
Polygon p = new Polygon
{
//Width = size,
//Height = size,
Fill = new SolidColorBrush(Colors.Red),
ManipulationMode = ManipulationModes.All,
RenderTransform = new CompositeTransform()
};
p.Points.Add(new Point(300, 200));
p.Points.Add(new Point(400, 125));
p.Points.Add(new Point(400, 275));
p.Points.Add(new Point(300, 200));
它使Triangle很好。但是,如果您为上面的代码提供宽度和高度,它将停止渲染。
我可以创建一个特定大小的三角形,而不必先在画布上设置实际点,就像你做椭圆或矩形一样吗?