0

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

    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);
    }

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

难道我做错了什么?

4

1 回答 1

1

您正在将椭圆添加到Grid控件中,但您正在设置Canvas.TopandCanvas.Left属性。如果椭圆实际上不在 a 上Canvas,那么这两个属性不会做任何事情。添加 a Canvasand 使用Canvas.Children.Add而不是,或者通过调用andGrid.Children.Add更改您的Canvas.SetTopandCanvas.SetLeft调用。Grid.SetRowGrid.SetColumn

于 2013-06-17T15:18:27.053 回答