我有这个函数只绘制一个椭圆并将其放在给定的网格上
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);
}
但是,出于某种原因,它只想将椭圆放在网格的中心,或者(给定第四象限参数)放置网格的第四象限。
我做错了吗?
答案 0 :(得分:1)
您要将椭圆添加到Grid
控件,但是您要设置Canvas.Top
和Canvas.Left
属性。如果椭圆实际上不在Canvas
上,那么这两个属性就不会做任何事情。添加Canvas
并使用Canvas.Children.Add
代替Grid.Children.Add
,或通过调用Canvas.SetTop
和{{1}更改您的Canvas.SetLeft
和Grid.SetRow
来电}}