C# 如何解决这个问题;无法从';方法组';至';UIElement'&引用;c中的错误#
我现在正在编写一段关于如何使用C#的代码。因此,对于真正的程序员来说,这可能是一个非常容易解决的问题 我几乎什么都试过了。但我已经不再寻找了,我只是好奇这里的问题是什么。如果有人能为我指出这一点,我会很激动的。谢谢你的正手C# 如何解决这个问题;无法从';方法组';至';UIElement'&引用;c中的错误#,c#,C#,我现在正在编写一段关于如何使用C#的代码。因此,对于真正的程序员来说,这可能是一个非常容易解决的问题 我几乎什么都试过了。但我已经不再寻找了,我只是好奇这里的问题是什么。如果有人能为我指出这一点,我会很激动的。谢谢你的正手 您需要将vierkant矩形对象传递到drawing.Children.Add()方法中,请参见以下内容: private void MakeRectangle(Canvas drawing, SolidColorBrush brushcolor, double xPos,
您需要将vierkant矩形对象传递到drawing.Children.Add()方法中,请参见以下内容:
private void MakeRectangle(Canvas drawing, SolidColorBrush brushcolor, double xPos, double yPos, double size)
{
Rectangle vierkant = new Rectangle();
vierkant.Height = size;
vierkant.Width = size;
vierkant.Margin = new Thickness(xPos, yPos, 0, 0);
vierkant.Stroke = brushcolor;
drawing.Children.Add(vierkant );
}
MakeRectangle
是一种方法<代码>绘图。子元素可能需要一个ui元素
。除非drawing.Children
是一个列表,其中每个项都是一个delegate
,具有与MakeRectangle
方法相同的参数,否则不能将其添加到列表中。您是否打算添加vierkant
?请尝试:drawing.Children.add(vierkant)代码>或绘图.Children.Add(MakeRectangle(绘图区域,颜色,10,20,20)
两者都可以,正如@John所说,你需要传递UIElement类型的对象,而不是方法。这看起来也会永远递归,并抛出一个StackOverflowException
。我猜你是一个C初学者,在这里提问之前,也许你会从运行一些教程中受益?哦,我的天,太差劲了应该知道的。非常感谢你为我指出这一点。
private void MakeRectangle(Canvas drawing, SolidColorBrush brushcolor, double xPos, double yPos, double size)
{
Rectangle vierkant = new Rectangle();
vierkant.Height = size;
vierkant.Width = size;
vierkant.Margin = new Thickness(xPos, yPos, 0, 0);
vierkant.Stroke = brushcolor;
drawing.Children.Add(vierkant );
}