WinRT如何动态地将三角形添加到画布

时间:2013-08-21 19:10:24

标签: c# geometry winrt-xaml

我想动态地将三角形添加到画布中。我可以这样做但只能以一种非常特殊的方式对我的应用程序起作用。我想做的是提供一个点和一个大小,然后回到三角形。

         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很好。但是,如果您为上面的代码提供宽度和高度,它将停止渲染。

我可以创建一个特定大小的三角形,而不必先在画布上设置实际点,就像你做椭圆或矩形一样吗?

0 个答案:

没有答案