我试图在堆栈面板中插入多个矩形,但我不断收到错误消息“元素已经是另一个元素的子元素。”。如果我使用 Canvas ,也会发生同样的事情。
例子:
List<Rectangle> recList = new List<Rectangle>();
...在列表中放入一些矩形
StackPanel stack = new StackPanel();
foreach(var item in recList)
stack.Children.Add(item); // get error here on 2nd item trying to add
uiStackPanel.Children.Add(stack); // declared in XAML
我希望能够在水平方向上动态插入矩形。 根据互联网,我应该能够做到这一点(至少手动)但是......
怎么办,怎么办? :)
最佳答案
似乎您不止一次添加了相同的矩形。
如果您需要添加与代码不同的矩形:
var list = new List<Rectangle>();
for (int i = 0; i < 10; i++)
{
list.Add(new Rectangle());
}
var panel = new StackPanel();
foreach (var rectangle in list)
{
panel.Children.Add(rectangle);
}
此代码有效。
关于c# - StackPanel 中的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6272946/