Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何解决这个问题;无法从';方法组';至';UIElement'&引用;c中的错误#_C# - Fatal编程技术网

C# 如何解决这个问题;无法从';方法组';至';UIElement'&引用;c中的错误#

C# 如何解决这个问题;无法从';方法组';至';UIElement'&引用;c中的错误#,c#,C#,我现在正在编写一段关于如何使用C#的代码。因此,对于真正的程序员来说,这可能是一个非常容易解决的问题 我几乎什么都试过了。但我已经不再寻找了,我只是好奇这里的问题是什么。如果有人能为我指出这一点,我会很激动的。谢谢你的正手 您需要将vierkant矩形对象传递到drawing.Children.Add()方法中,请参见以下内容: private void MakeRectangle(Canvas drawing, SolidColorBrush brushcolor, double xPos,

我现在正在编写一段关于如何使用C#的代码。因此,对于真正的程序员来说,这可能是一个非常容易解决的问题

我几乎什么都试过了。但我已经不再寻找了,我只是好奇这里的问题是什么。如果有人能为我指出这一点,我会很激动的。谢谢你的正手


您需要将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 );

        }