在silverlight中绘制椭圆 - 放置不正确

时间:2013-06-17 15:04:46

标签: c# silverlight drawing shapes

我有这个函数只绘制一个椭圆并将其放在给定的网格上

    public void drawEllipse(double top, double left, double height, double width, Grid grid)
    {
        Ellipse ellipse = new Ellipse();
        ellipse.Height = height;
        ellipse.Width = width;
        SolidColorBrush brush = new SolidColorBrush();
        brush.Color = Colors.Black;
        ellipse.Stroke = brush;
        ellipse.Fill = brush;
        Canvas.SetTop(ellipse, top);
        Canvas.SetLeft(ellipse, left);
        grid.Children.Add(ellipse);
    }

但是,出于某种原因,它只想将椭圆放在网格的中心,或者(给定第四象限参数)放置网格的第四象限。

我做错了吗?

1 个答案:

答案 0 :(得分:1)

您要将椭圆添加到Grid控件,但是您要设置Canvas.TopCanvas.Left属性。如果椭圆实际上不在Canvas上,那么这两个属性就不会做任何事情。添加Canvas并使用Canvas.Children.Add代替Grid.Children.Add,或通过调用Canvas.SetTop和{{1}更改您的Canvas.SetLeftGrid.SetRow来电}}